ajax与jsonp

Posted wangxi01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax与jsonp相关的知识,希望对你有一定的参考价值。

    var xhr = new XMLHttpRequest()
    
    xhr.onreadystatechange = function(){//状态触发事件
        if(xhr.readyState == 4){
            if(xhr.status >=200 && xhr.status<300 || xhr.status == 304){
                console.log(xhr)
            }else{
                console.log(xhr.status)
            }
        }
    }
    xhr.onprogress = function(event){//浏览器接受新数据期间周期性触发
        if(event.lengthComputable){
            console.log(event.total)
        }
    }
    
    xhr.open(‘get‘,‘data/cart.json‘,true);
    xhr.setRequestHeader(‘myheader‘,‘myvalue‘)//可以设置自定义头部信息
    xhr.send(null)//接收一个参数,即要作为请求主体发送的数据,若无,为了浏览器兼容,必须传入null。
    
    //跨域jsonp
    function handleResponse(response){
        console.log(response.ip,response.city,response.region_name)
    }
    
    var script = document.createElement(‘script‘) //script和img一样有能力不受限制从其他域加载资源
    script.src = ‘http://freegeoip.net/json/?callback=handleResponse‘; 
    document.body.insertBefore(script,document.body.firstChild)

 

以上是关于ajax与jsonp的主要内容,如果未能解决你的问题,请参考以下文章

jquery下的ajax和jsonp实现与区别

jQuery Ajax & jsonp

ajax与jsonp

何时使用 json 以及何时使用 jsonp 与 jquery $.ajax?

20promise与ajax jsonp

ajax与jsonp中的几个封装函数