jquery解决跨域问题
在Ajax请求的url不是本地或者同一个服务器下面的URI,最后虽然请求显示为200,但是不会返回任何数据,
事实上简单来说请求同一个域名下的url或者说用不带http的绝对路径和相对路径请求是没有任何问题的,
如果请求外部资源,那么这就称为跨域请求。
由于安全性的问题,浏览器默认不支持跨域调用,jQuery1.2之后官方推荐的结局方案:是在客户端和服务端
同时加参数,这样双方都是信任的那么浏览器就不会阻止了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $.ajax({ type:"get", //请求方式 async:true, //是否异步 url:"http://www.domain.net/url", dataType:"jsonp", //跨域json请求一定是jsonp jsonp: "callbackparam", //跨域请求的参数名,默认是callback //jsonpCallback:"successCallback", //自定义跨域参数值,回调函数名也是一样,默认为jQuery自动生成的字符串 data:{"query":"civilnews"}, //请求参数 beforeSend: function() { //请求前的处理 }, success: function(data) { //请求成功处理,和本地回调完全一样 }, complete: function() { //请求完成的处理 }, error: function() { //请求出错处理 } }); |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步