读书人

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

发布时间: 2012-12-17 09:31:40 作者: 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,后台也接收到请求了,但是回调函数就是不执行,结果换成这样就可以了.至于两种请求方式的区别,那还得看看源码才晓得了
[其他解释]
怎么做的啊,我也遇到了同样的问题
[其他解释]
不懂回复内容太短了!
[其他解释]
引用:
面jquery 里却不执行 function

--------------
这什么意思啊


是执行 function(json) 时报错。。应该这么 讲,,但在火狐下看不到报错信息。貌似返回的数据不是JSON格式一样。。但在google下可以看到报错信息~
[其他解释]
该回复于2011-04-08 13:33:17被版主删除
[其他解释]
有没有人啊。。进来的兄弟们帮顶一下。。。。。。。。。。。。。
[其他解释]
结帖 问题解决了
[其他解释]
同样的问题,楼主可否给个解决方案,不能就这么结束了呀!

读书人网 >asp.net

热点推荐