AJAX跨域问题
相信大数对AJAX跨域问题应该有些了解,大檓会有这样的一种答案选择JSOP【JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。】,JSOP方式只能支持GET请求,其实有一种跨域方式使用是用使用POST方式请求的(CORS)。
JSOP具体实现方法一:
$.ajax({ dataType(参考下载:http://www.gpskld.com):'jsonp', url:'http://www.a.com/user?id=123', success:function(data){ //处理data数据 } });
JSOP具体实现方法二:
$.getJSON('http://www.a.com/user?id=123&callback=?',function(data){ //处理data数据 }); 也可以简单地使用getScript方法: //此时也可以在函数外定义foo方法 functionfoo(data){ //处理data数据 } $.getJSON('http://www.a.com/user?id=123&callback=foo');
CORS的原理:
CORS定义一种跨域访问的机制,可以让AJAX实现跨域访问。CORS 允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。实现此功能非常简单,只需由服务器发送一个响应标头即可。