JSON

Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别(2)

字号+ 作者:H5之家 来源:H5之家 2016-01-18 17:28 我要评论( )

昨天14:59 上传 总结 由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源,为了实现跨域请求,可以通过script标签实现跨域请求,然后在服务端输出JSON数据并执行回调函数,从而解决了跨

昨天 14:59 上传


  总结

  由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源,为了实现跨域请求,可以通过script标签实现跨域请求,然后在服务端输出JSON数据并执行回调函数,从而解决了跨域的数据请求,这就是jsonp的核心。

  jsonp原理:

  1.首先在客户端注册一个callback, 然后把callback的名字传给服务器。

  2.服务器先生成 json 数据。 然后以 JavaScript 语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp. 最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。

  3.客户端浏览器,解析script标签,并执行返回的 JavaScript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里.(动态执行回调函数)

  json和jsonp的区别,ajax和jsonp的区别

  json和jsonp虽然只有一个字母的区别,但是它们之间扯不上关系。

  json是一种轻量级的数据交换格式。

  jsonp是一种跨域数据交互协议。

  json的优点:(1)基于纯文本传递极其简单,(2)轻量级数据格式适合互联网传递,(3)容易编写和解析。

  ajax和jsonp的区别:

  相同点:都是请求一个url

  不同点:ajax的核心是通过xmlHttpRequest获取内容

  jsonp的核心则是动态添加<script>标签来调用服务器 提供的js脚本。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

  • 未来编程的9大猜想:JavaScript不必亲自编写

    未来编程的9大猜想:JavaScript不必亲自编写

    2016-01-30 13:01

  • Objective-C与JavaScript交互的那些事

    Objective-C与JavaScript交互的那些事

    2016-01-30 13:00

  • 实用的javascript小技巧

    实用的javascript小技巧

    2016-01-25 19:05

网友点评
/