同源策略:
ajax请求的时候浏览器要求当前页面和请求的地址(server端)必须是同源
同源:协议一致,域名一致,子域名一致,端口一致
跨域:说白了就是绕开同源策略
下面讲解用jsonp的方式跨域
script标签可以绕开同源策略
<script>
function callback(res){
console.log(res)
}
</script>
<script src="https://wis.qq.com/weather/common?source=pc&weather_type=air%7Crise&province=河南省&city=郑州市&callback=callback"></script>
大家注意我们声明的方法名要和请求地址的callback一致
所以利用这个方法就能实现跨域了
用jquery实现jsonp跨域
<script src="./jquery.js"></script>
<script>
$(function(){
$.ajax({
url:'https://wis.qq.com/weather/common?source=pc&weather_type=air%7Crise&province=河南省&city=郑州市'}),
dataType:'jsonp',
jsonpCallback:'callback',//可写可不写
success(res){
console.log(res)
}
})
</script>