技术点-Jsonp跨域请求-技术性总结
2017-08-01 10:36
211 查看
推荐的是目前jQuery $.ajax()支持get方式的跨域
解释:
1,async: false,(默认是true);
如上:false为同步,这个 testAsync()方法中的Ajax请求将整个浏览器锁死,
只有tet.php执行结束后,才可以执行其它操作。
2,async: true ,ajax请求是异步的。但是其中有个问题:testAsync()中的ajax请求和其后面的操作是异步执行的,那么当tet.php还未执行完,就可能已经执行了 ajax请求后面的操作,
如: alert(temp+’ end’);然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。
引荐一位大牛博客,以上的部分思路和源码都是在其基础上进行的修改,很感谢!
http://blog.csdn.net/sylarmp/article/details/35602571
<script type="text/javascript"> <!-- 页面初始化执行,$(function(){});--> $(function(){ <!--测试是否进入该方法--> alert("进入"); $.ajax({ type: "get", //jsonp必须是get请求方式 async: false, //同步还是异步,false代表同步 url: "http://localhost:8082/ActiveMQSpringDemo/activemq/dd", //访问的服务器路径,跟之前一样的方式 data:{name:'hehe'}, //请求参数,跟之前一样的方式 dataType: "jsonp", //指定jsonp请求方式,这样就不再是ajax请求方式了。 jsonp: "callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) success: function (json) { //这里json就是服务器返回的响应数据。 alert(json.id+" "+json.name); }, error: function (XMLHttpRequest, textStatus, errorThrown) { //如果抛出异常,进入该方法 //这两个代表响应的异常信息和异常对象内容。 alert(textStatus); alert(errorThrown); } }); }); </script>
解释:
1,async: false,(默认是true);
如上:false为同步,这个 testAsync()方法中的Ajax请求将整个浏览器锁死,
只有tet.php执行结束后,才可以执行其它操作。
2,async: true ,ajax请求是异步的。但是其中有个问题:testAsync()中的ajax请求和其后面的操作是异步执行的,那么当tet.php还未执行完,就可能已经执行了 ajax请求后面的操作,
如: alert(temp+’ end’);然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。
引荐一位大牛博客,以上的部分思路和源码都是在其基础上进行的修改,很感谢!
http://blog.csdn.net/sylarmp/article/details/35602571
相关文章推荐
- 技术点-Jsonp跨域请求-概念性总结
- jsonp 跨域请求学习总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
- 项目技术总结一之JSONP实现跨域调度
- 跨域请求jsonp
- 探讨跨域请求资源的几种方式(总结)
- ajax请求跨域问题-通过jsonp方式解决
- AJAX 跨域请求 - JSONP获取JSON数据
- JSONP跨域交互请求JSON数据
- jsonp其实很简单【ajax跨域请求】
- AJAX->跨域->JSON->JSONP->解决跨域请求