jsonp跨域调用action
2013-12-27 18:34
120 查看
原理:<script src=
src是可以引用其他服务器上的js的,
如在页面A有
delFile.action所做的事就是输出一段如下代码 response.getWrite().write('fun1("xiaoming")');
而在页面A有个script如下
function fun1(who){
alert(who+' com on....');
}
则在页面A载入的时候由于引用了http://192.168.1.100:8080/test/file/delFile.action,其实就等同于写了如下代码
<script >
fun1("xiaoming") ;
</script>
所以,fun1会被调用执行,这就是原理了。
利用ajax调用
服务端示例
src是可以引用其他服务器上的js的,
如在页面A有
<script src='http://192.168.1.100:8080/test/file/delFile.action'></script>
delFile.action所做的事就是输出一段如下代码 response.getWrite().write('fun1("xiaoming")');
而在页面A有个script如下
function fun1(who){
alert(who+' com on....');
}
则在页面A载入的时候由于引用了http://192.168.1.100:8080/test/file/delFile.action,其实就等同于写了如下代码
<script >
fun1("xiaoming") ;
</script>
所以,fun1会被调用执行,这就是原理了。
利用ajax调用
$.ajax({ type : 'get',//必须是get async:false, url : 'http://192.168.1.100:8080/test/file/delFile.action', data: {'fileId':'123'}, dataType : 'jsonp', //jsonp: 'fn',//在服务端定义的执行页面js方法的function名字,还有一个叫什么jsonpCallback,好像是这个的参数,这个就是回调函数,不过不写的话jquery会生成一个,还是不写的好,不用去单独写个方法,也不用担心方法命名重复 success:function(json){ alert(json.xx); } });
服务端示例
//页面方法名 //private String fn ;页面不写jsonp的话,这里也不用写,jquery会传递一个名为callback的参数 public void delFile(){ String json = "{'xx':'yy'}"; String cb = request.getParameter("callback") ; out.write(cb+"("+json+")" ; ..... } ...
相关文章推荐
- 跨域原理 与 AJAX跨域调用相关知识-CORS和JSONP
- JSONP跨域调用
- ajax使用jsonp跨域调用webservice error错误信息"readyState":4,"status":200,"statusText":"success"
- AJAX跨域调用相关知识-CORS和JSONP
- JS跨域调用之JSONP--动态Script标签方式实现跨域
- 使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码和在线测试地址】
- jquery使用jsonp进行跨域调用
- jquery ajax jsonp跨域调用实例代码
- 跨域JSONP原理及调用具体示例
- ajax跨域jsonp及jquery中的调用问题
- Ajax跨域(jsonp) 调用JAVA后台
- 一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
- JSONP和ajax的跨域调用
- Extjs JSONP 跨域调用
- 使用jsonp解决web远程调用跨域问题
- jquery使用jsonp进行跨域调用
- 一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
- 详解Ajax跨域(jsonp) 调用JAVA后台
- JSONP跨域调用详解
- springmvc jsonp 跨域调用的例子