jQuery提供的getJSON方法在进行跨域调用时,只需要在调用地址后面加上参数jsoncallback=?即可。
客户端调用代码:
$.getJSON(
"http://www.XXXX.com/getJSON.jsp?jsoncallback=?",
{A:1, B:2, rand:Math.random()},
function(data){
alert(data);
}
);
其中A、B是需要传递的其它参数,而rand参数则是防止调用缓存而增加的随机数参数。
如果你认为这样就搞定了,那可就错了。因为jsoncallback=?中的问号会被Query自动替换成其他的回调方法的名称,服务器先接受参数jsoncallback,然后把jsoncallback的值作为JSON数据方法名称返回。
服务器端代码(getJSON.jsp):
String A_val = request.getParameter("A");
String B_val = request.getParameter("B");
String jsoncallback = request.getParameter("jsoncallback");
if(jsoncallback != null){
out.print(jsoncallback+"(");
}
%>
{"A":A_val,"B":B_val,"C":3}
<%
if(jsoncallback != null){
out.print(")");
}
%>
现在再访问getJSON.jsp应该返回:?({"A":1,"B":2,"C":3}) 这样客户端就可以正确处理此次getJSON请求了
分享到:
相关推荐
jquery的ajax和getJson跨域.docxjquery的ajax和getJson跨域.docx
getJSON跨域提交数据,想必大家已在很多文章中见到过,下面的示例是php jq jquery getJSON跨域提交数据完整代码,感兴趣的朋友可以参考下
这是一个前端后端通过JQuery的getJSON函数交互json数据的例子。 前端网页是front.html,后端处理的模块是back.jsp 把back.jsp、front.html及jquery-1.8.3.min.js部署在Tomcat的webapps的ROOT下,通过在浏览器输入...
jquery跨域调用,js跨域调用,jsonp,跨域调用
Jquery跨域Json请求处理
NULL 博文链接:https://ch-dj.iteye.com/blog/1745077
$(function(){ $.getJSON(url,function(data){ alert (data.Name); }) }); 服务器返回字符串: {“Name”:”loogn”,”Age”:23} 2,不同域名下 js: 代码如下: var url=”...
本篇文章主要是对jquery的ajax和getJson跨域获取json数据的实现方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
jquery ajax json 跨域不解释,代码很简单 没几句话
jquery下利用jsonp跨域访问实现方法.docx
Java web 解决跨域实现数据的获取以及一系列操作。利用ajax和getJson实现数据交互。
通过JQuery可以跨域获取JSON数据,但必须弄清楚的是,JQuery不可以跨域获取任意JSON格式的数据,必须要通过服务端输出特定的针对JQuery跨域读取的JSON数据。你可能目前对此仍然毫无了解,没关系,本文将以最简单易懂...
主要给大家介绍了关于jQuery中getJSON跨域原理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了getJSON跨域SyntaxError问题分析,需要的朋友可以参考下
JAVA调用外接设备(制卡机)---JQuery跨域,AJAX跨域问题
利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据