jsonp
$.ajax({ type: "get", url: "/home/ReturnJson", dataType: "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback, http://xxxx.com?callback=foo) success: function (data) { alert(data.name); }, error: function () { alert('fail'); } });
服务器设置响应头, 允许跨域(一般不建议这样做)
res.header("Access-Control-Allow-Origin", "*");
服务器转发
服务器与服务器之间没有跨域问题. 可以让本机服务器作为代理,来请求第三方服务器, 然后将第三方服务器数据返回回来,但是不会携带cookie
反向代理
配置步骤:
1> 找到 httpd.conf 文件 2> 找到里面的 Proxy_modules 模块与 Proxy_http_module 模块, 将其注释去掉 3> 找到要配置的虚拟主机 4> 在里面添加两段代码 ProxyRequests Off ProxyPass /api http://api.botue.com 5> 重启 服务器 <VirtualHost *:80> DocumentRoot"D:/developer/wamp/www/studyit" ServerName studyit.com ProxyRequests Off ProxyPass /api http://api.botue.com </VirtualHost>