ajax本地跨域问题

  1. 当我们在本地进行类似于ajax的get或者post的操作时,通常都会报错

    报错信息:jquery.js:5785 XMLHttpRequest cannot load file:///C:/Users/alex/Desktop/testFIleUpload/rotate/jsonp/remote.js?code=CA1998&callback=flightHandler. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

这个是ajax本地跨域问题。本地页面ajax()请求本地文件时,必须通过服务器环境运行,类似这样:http://127.0.0.1:8888/EXP99.COM/index.html

如果没有在服务器环境里运行含有ajax方法的页面,而是直接通过浏览器打开,就会报出上述的error。

  1. 从根本上来解决的话就是搭建本地服务器环境。

第一步:去nodejs官网下载nodejs 官网
安装成功后可以在命令提示符下,输入 node -v来查看它的版本号 来判断是否安装成功

ajax本地跨域问题_第1张图片

第二步:输入cnpm install anywhere -g
这个步骤是利用node js anywhere来搭建服务器,用cnpm是因为有时候会失败,而且访问外网也比较慢。使用淘宝镜像会比较快也稳定。
ajax本地跨域问题_第2张图片

第三步:用cd进入要搭建服务器的文件夹

第四步:输入anywhere
这时候浏览器会自动打开到你刚才进入的文件夹,在编辑器修改文件的时候,都能同步反映到这个地址上。这时候服务器就搭建成功了

ajax本地跨域问题_第3张图片

ajax本地跨域问题_第4张图片

你可能感兴趣的:(javascript)