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)