如何让chrome支持ajax本地访问

如题所述

前段时间一直用Chrome 和 Safari 来支持HTML5的运用,在测试的过程中发现原来由于Chrome的安全机制不能支持ajax的本地访问, 例如:

在JavaScript里面访问 URL:file:///E:/test.html,Chrome 浏览器报错:XMLHttpRequest cannot load file:///E:/test.html. Origin null is not allowed by Access-Control-Allow-Origin.

解决它的方法就是将HTML5的程序做成 Chrome的扩展程序,该扩展程序的扩展文件名为.crx。

1. 在程序根目录下面增加一个manifest.json 文件,文件格式为:

{  
"name": "DemoApp",  
  "description": "Demo",  
  "version": "0.1",  
  "app": {  
    "launch": {  
      "local_path": "***.html"  
    }  
  },  
  "permissions": [  
    "unlimitedStorage"  
  ]  
}

2. 将该程序利用Chrome打包。 打开Chrome,在设置按钮中选择【工具】->【扩展程序】,或者在地址栏输入“chrome://extensions/”,如图:

3. 点击扩展程序,打包HTML程序:

4. 将打包后的扩展程序拖到chrome浏览器里面安装,安装完后,运行程序即可。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-01
由于一些安全机制的限制,ajax是不能支持本地访问的(除非是在调试本地网页,并访问本地网页所在的根目录下的文件)本回答被提问者采纳
第2个回答  2017-02-22

    鼠标右击chrome,点击属性

    在dos下找到chrome.exe的路径,在后面加上参数--allow-file-access-from-files 

    重启浏览器

第3个回答  2016-08-01
把服务撸成本地的就可以了,http://127.0.0.1/myapi/
第4个回答  2017-04-26
您指的本地访问是?ajax请求的数据源也是本地?请具体阐述

如何让chrome支持ajax本地访问
1. 在程序根目录下面增加一个manifest.json 文件,文件格式为:{ "name": "DemoApp", "description": "Demo", "version": "0.1", "app": { "launch": { "local_path": "***.html" } }, "permissions": [ "unlimitedStorage" ] }2. 将该程序利用...

浏览器不支持ajax?
如何解决chrome等浏览器不支持本地ajax请求的问题1、cmd进入dos环境 2、dos下进入\\Google\\Chrome\\Application(chrome.exe所在目录)3、运行命令chrome.exe--allow-file-access-from-files;注弯姿肆意:运行完第3步之后,这个时候就会启动chrome浏览器,不要关闭它,使用chrome打开那个之前会报错的html文件,...

html文件直接打开,不行,打开阿帕奇用127.0.0.1打开就行,为什么?_百度知...
Chrome不支持本地Ajax请求,就是说这个时候不能加载这个.html文件。解决:打开Chrome快捷方式的属性中设置:右击Chrome浏览器快捷方式,选择“属性”,在“目标”中加上"--allow-file-access-from-files",注意前面有个空格,重启Chrome浏览器便可。

谷歌浏览器跨域设置
右键点击 Chrome 快捷方式,选择“属性”。 在目标输入框尾部添加参数: --disable-web-security。 保存并关闭属性页面,重新打开浏览器。如果出现提示关于不受支持的命令,说明设置成功。而新版 Chrome(版本号49起)则需要采取不同的步骤:在电脑创建一个目录,例如:C:\\MyChromeDevUserData。 在目...

原生ajax请求获取pdf文件流本地下载(支持谷歌IE)
项目中,为实现本地下载pdf文件,需使用原生Ajax请求获取文件流。采用Ajax获取二进制文件流,代码如下:\/\/读取并修改接口文件下载 function download() { var url ='downLoadFilesPath?path='+addrLast;var xhr = new XMLHttpRequest();xhr.open('GET', url, true);xhr.setRequestHeader("Content-...

Chrome:如何使用Chrome的控制台查看Ajax的返回结果呢?
首先点击“console”(控制台)然后将所有记录清空,方便查看 在前端页面点击触发ajax查询之后,即可在控制台看到一条新记录,再点击这条ajax请求的链接 跳到了网页请求栏,点击颜色较深的那个请求,即为我们刚刚从控制台跳转过来的源链接 查看传递的数据是否都正常,有没有遗漏,等等 ...

怎么设置chrome的跨域访问
1,首先谷歌快捷方式上右击,在下拉列表中选择属性。2,打开属性窗口,切换到快捷方式选项卡下面,默认是常规选项卡。3,在目标路径的后面添加【 --disable-web-security】,格式如下:C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe --disable-web-security,其中chrome.exe与--...

为什么在chrome中,同步ajax请求已经阻塞了页面,但页面仍然能响应事件...
click事件本身就是异步的。所以多次点击会导致请求多次。如果不希望请求多次,你可以设置一个公共参数为true,当请求Ajax时设为false,请求结束后设为true,进入方法后如果是false就不让他请求。还有一种方法就是弹出一个遮罩,覆盖整个页面,让整个页面都不能点击,请求完成后取消遮罩。

为什么在 Ajax 回调函数里新建的窗口会被 Chrome 浏览器拦截_百度知 ...
新建窗口就是这一类。试想一下如果JS可以完全不受限制的创建窗口的话,你打开一个比较流氓的页面,它可以不停的自动弹出窗口,就像病毒一样。浏览器判断是不是可以弹出窗口其中有一个策略就是判断这个操作是不是用户主动触发的。比如你点一个按钮,按钮的onclick时间里面执行创建了一个新窗口,浏览器判断...

在本地运行网站时JQ AJAX返回值是正确的 架设到windows2003服务器上...
出了提示“出错了”,就没有提示错在哪里么?用chrome的developer tool或者firefox的firebug看看ajax的request是否正确

相似回答