希望大家给指点一二谢谢
js调用别人域名下的api肯定是属于跨域请求,你可以用Ajax请求自己的服务器,让自己的服务器代理自己去请求别人的api接口,比如我做的一个web版的知乎日报就是这样干的 zhihudays.sinaapp.com
首先要明确一点:
服务器要帮你套上回调函数,你才能收到数据。这就是为什么你请求一个纯json文件无现象。
关于跨域问题,我的建议是放到后台来做。在后台加上一个代理(nginx)。 然后自己的前端访问nginx代理暴露出来的网址。说白了,其实就是通过代理来避开跨域问题。希望对你有用。
谢谢,各位,我确实也参考了 jquery的技术文档,用此方法后不管是跨域还是不跨域均没有任何提示反应,奇怪的很,就这几行代码你说,贴上我实际的代码:
$.ajax({
crossDomain: 'true',
type:'GET',
url: 'http://web1.com/test/example/ajax/ajax-1/json1.json',
dataType: 'jsonp',
success: function(){
alert("已加载");
}
});
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
用 jQuery 的 jsonp
补个例子
jsonp 只能用在支持 GET 且服务端支持 callback 参数的场景中,如果只支持 POST 的话参考楼上。。