- XMLHttpRequest用于浏览器端与服务器端异步请求数据从面实现对页面的无刷新修改,支持GET/POST请求,一般用于非跨域的场景。如果需要使用XMLHttpRequest跨域请求数据,需要通过CORS头支持。 JSONP用于跨域请求数据的场景,只支持GET请求。
- XMLHttpRequest异常判断一般通过该对象的readystate和http状态码status来判断,JSONP的异常判断一般是onerror事件和超时timer来判断。
(答案源自牛客网面试试题)
XMLHttpRequest
XMLHttpRequest是一个浏览器接口,是JavaScript可以进行Http通信,这就是我们熟悉的Ajax。
跨域资源共享
XMLHttp可以想不同的域名的服务器发出http请求,叫做CORS
但是必须满足两个条件按:
1. 浏览器需要支持CORS
2. 服务器允许跨域,服务头需要添加一些选项:
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Me