读书人

$.getJSON 跨域访问可以看得到返回值

发布时间: 2013-04-12 18:33:12 作者: rapoo

$.getJSON 跨域访问,可以看得到返回值,但jquery中却不执行
JQUERY


$.getJSON(
"http://doc.jiandankao.com/sso/r_Login.aspx?jsoncallback=?",
{ name: name, pass: pass },
function (json) {
alert(json);
var obj = eval( json );
alert("JSON Data: " + obj.usrName + "id:" + obj.usrId + "rnd:" + obj.rndPassWord);
}, function(data){
alert(data);
}
)



r_Login.aspx

string strJson =Request.QueryString["jsoncallback"] + "({\"usrName\" : " + (string)Application["usrName"] + ",\"usrId\" : " + users.UsrId + ",\"rndPassWord\" : " + users.RndPassWord + "})";
Response.Write(strJson);


打印的数据为:
jsonp1302232150388({"usrName" : hao123,"usrId" : 404a9b89-35ec-4b62-b0ba-91daab96e668,"rndPassWord" : 52DFJWE8J6iF85JDFYX298PULHQRHBEXFNH1PVRO})



面jquery 里却不执行 function

在google浏览器下可以看到报错信息, 别的浏览器看不到






Uncaught SyntaxError: Unexpected token :
c.extend.globalEvaljquery-1.4.1.min.js:44
c.extend.httpDatajquery-1.4.1.min.js:144
c.extend.ajax.g.w.onreadystatechange


现在我想执行 alert(json); 可它不进去。。什么情况????

[解决办法]
面jquery 里却不执行 function

--------------
这什么意思啊
[解决办法]
么原因说下卅
[解决办法]
"usrName" : hao123,"usrId" : 404a9b89-35ec-4b62-b0ba-91daab96e668,"rndPassWord" : 52DFJWE8J6iF85JDFYX298PULHQRHBEXFNH1PVRO

你的value没打括号
[解决办法]

$.ajax({
type: "GET",
url: "http://doc.jiandankao.com/sso/r_Login.aspx?jsoncallback=?",


data: { "name": name, "pass": pass },
success: function(json){
alert( json);
},
complete: function() {
alert("请求完成");
}
});



你可以试试换用这个$.ajax,我昨天也是用的$.getJSON,后台也接收到请求了,但是回调函数就是不执行,结果换成这样就可以了.至于两种请求方式的区别,那还得看看源码才晓得了
[解决办法]
怎么做的啊,我也遇到了同样的问题

读书人网 >asp.net

热点推荐