考核内容:ajax跨域异步操作数据
题发散度: ★★
试题难度: ★★
解题思路:
Ajax的全称是Asynchronous JavaScript and XML
答:Ajax是一种可以在浏览器和服务器之间使用异步数据传输(HTTP请求)的技术。使用它可以让页面请求少量的数据,而不用刷新整个页面。而传统的页面(不使用Ajax)要刷新部分内容,必须重载整个网页页面。
答:它基于的是XMLHttpRequest(XHR)。这是一个比较粗糙的API,不符合关注分离的设计原则(Separation of Concerns),配置和使用都不是那么友好。
答:基于上面的原因,各种ajax库引用而生,然而最有名的就是jQuery的API中的 .ajax() 。.ajax() 它的一个优势异步操作,但jQuery的异步操作是基于事件的异步模型,没有promise那么友好。
答:综合上面所讲的各种因素,fetch这个api应运而生。fetch接口是用来解决Ajax(xhr)在写法和调用上的不合理和开放的js接口,Fetch 是浏览器提供的原生 AJAX 接口。使用 window.fetch 函数可以代替以前的 .ajax、.get 和
答:协议、域名、端口都相同的网站就是同源网站,否则就是非同源。 ajax只要是同源就不需要考虑跨域限制。
答:ajax不能向非同源服务器发送请求。其实请求可以发送出去,但是浏览器会拒绝接收响应。如何解决这个问题呢?这就是跨域的解决方案
三种方案分别是:代理,CORS(跨域资源共享),JSONP
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
因为出于安全的考虑, 浏览器不允许Ajax调用当前源之外的资源. 即浏览器的同源策略.
CORS需要浏览器和服务器同时支持。目前,所有主流浏览器都支持该功能,在浏览器端, 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。
jquary 只是封装了AJAX的方法,即使不加载jquery也可以实现AJAX
答案:错误的是
D. AJAX是一种技术,或者说是一种思想,
用来实现异步刷新,使用时必须加载JQUERY。
常见考试类型: