AJAX跨越访问解决方案

一、JSONP

  JSONP参考教材:http://kb.cnblogs.com/page/139725/html

  JSONP是利用HTML的script标签一下特性:json

    1)引用外部资源不受跨域问题影响跨域

    2)script标签加载完js资源后立马自动执行加载的js安全

    3)新加载的js做用域为全局服务器

  script标签的src属性指向服务端动态生成js文件,该js文件的基本格式以下:函数

callback(jsonData);

  其中callback函数在客户端定义,名称不定,由script标签经过url传参传递到服务器,jsonData为目标数据。url

  简单的说就是:在网页中定义一个全局函数,让后经过script标签访问服务器并带上这个全局函数名,服务器收到这个函数名动态生成上文提到的js文件,网页加载完后就会执行全局函数。spa

 优势:

  简单方便,经过封装能作到像写AJAX同样;.net

 缺点:

  1)服务器接口须要改变code

  2)没法获获知接口调用失败

二、Access-Control-Allow-Origin

  在返回的响应信息中,使用 Access-Control-Allow-Origin 头来控制哪些域名的脚本能够访问该资源。若是设置 Access-Control-Allow-Origin:*,则容许全部域名的脚本访问该资源。若是有多个,则只须要使用逗号分隔开便可。

  注意:在服务器端,Access-Control-Allow-Origin 响应头中的端口信息不能省略。

 优势:

  1)简单方便

  2)客户端不须要做任何改动

 缺点:

  1)服务端安全性下降

  2)须要服务端配合修改报文头

三、利用iframe

  推荐教程:http://www.jb51.net/article/33711.htm

 优势:

 缺点:

  1)数据迂回传递

  2)需在服务端部署response.html

  3)回调函数必须为全局函数

相关文章
相关标签/搜索