校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > 跨域、jsonp
题目

关于 jsonp 的优缺点的表述中,哪一项是错误的?

A.它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制

B.兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持

C.只支持GET、POST两种HTTP请求,不支持其它类型的HTTP请求

D.只支持跨域HTTP请求,不能解决不同域的两个页面之间如何进行JavaScript调用的问题

解答

正确答案是 C

JSONP的优点是:
它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。

JSONP的缺点则是:
它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行调用的问题。

Jsonp原理:
1、首先在客户端注册一个callback, 然后把callback的名字传给服务器。此时,服务器先生成 json 数据。然后以 javascript 语法的方式,生成一个function, function 名字就是传递上来的参数 jsonp.
2、最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。
3、客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里.(动态执行回调函数)

C 0条回复 评论

帖子还没人回复快来抢沙发