跨域请求是浏览器的同源策略造成的。
所谓同源是指域名,协议,端口都相同。
解决方案:基于jsonp
点击按钮发送跨域请求:(部分HTML代码如下:)
$.(".get_server").click(function(){ $.ajax({ url:"http://www.jxntv.cn/data/jmd-jxtv2.html", //发送请求的地址 type:"get", dataType:"jsonp", jsonp:"callback", jsonCallback:'list', //对方的提供数据的函数名 success:function(data){ console.log(data) //data就是跨域请求得到的数据 } }) })
解决方案:基于cors
被浏览器拦截跨域请求的原因:cors头中缺少“Access-Control-Allow-Origin”参数。
在视图函数中的响应中加上此参数就可以了。(在提供请求数服务的一端)
response['Access-Control-Allow-Origin']="http://127.0.0.1:8000" # ip地址 response['Access-Control-Allow-Origin']="*" //对所有的都不会拦截跨域请求