前面四篇与后台约定的是返回如下的结构
jsonp = "{name:xx, age:xx}"
即标示符jsonp为一个全局变量。这篇后台接口则是一个JSON作为函数的参数传入,即后台返回的是一个全局函数。
后台我用Java写的Servlet,如下
String callback = request.getParameter("callback");
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.println(callback + "({age: 877})");
out.flush();
out.close();
callback是前台传给后台的参数,即全局的一个函数名。 这种方式也是jQuery采用的方式。jQuery的JSONP请求每次都会生成一个随机函数名传给后台。
接口与上一篇相同,如下
// 开启调试模式
Sjax.debug = true;
Sjax.get({
url // 请求url
param // 请求参数 (键值对字符串或js对象)
success // 请求成功回调函数
failure // 请求失败回调函数
scope // 回调函数执行上下文
timestamp // 是否加时间戳
});
这种方式的缺点是每次请求都会生成一个全局函数名,回调后虽然将函数置null/undefined,但window对象下仍然能看见该属性。前四篇则固定使用变量jsonp,不会每次请求都随机生成一个全局函数。
分享到:
相关推荐
基于jQuery的jsonp ajax跨域请求,
基于ajax方式的跨域请求jsonp的前后台代码
ajax跨域CORS方案 JSONP跨域请求方案.zip
html通过 ajax jsonp跨域请求接收和传送数据 使用HTML页面与后台跨域交互,获得后台数据或传输数据给后台
该资源为ASP.NET网站开发技术中使用Ajax进行跨域请求时利用JSONP方案解决浏览器同源策略限制的源码,比较简单,仅供参考
JSONP跨域和CORS跨域 什么是跨域? 跨域:指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器的安全限制! 同源策略 同源策略:域名、协议、端口均相同。 浏览器执行JavaScript脚本时,会...
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为...不过,由于受到浏览器的限制,该方法不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误。如果能控制数 据驻留的远程服务器并
使用JSONP完成HTTP和HTTPS之间的跨域访问
PHP AJAX JSONP实现跨域请求使用范例
利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
NULL 博文链接:https://sagewsg.iteye.com/blog/1670992
js解决跨域请求
不同域之间相互请求资源,就算作“跨域”。 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,...
[removed]元素的src属性能设置URL并发起HTTP GET请求, 使用[removed]元素实现脚本操作HTTP可以跨域通信而不受限与同源策略. 通常, 使用基于[removed]的Ajax传输协议时, 服务器响应采用JSON编码的数据格式, 当执行...
前端使用jquery,datatype采用jsonp,服务端采用C#编写的webService
jsonp跨域请求数据实现手机号码查询实例分析.docx
js跨域解决方案
本文主要介绍了jsonp跨域请求实现示例。具有很好的参考价值。下面跟着小编一起来看下吧