在我的HTML页面上,我有以下脚本。
var request = $.ajax({
url: 'http://localhost:1337/testservice.svc/rest/BillingPatterns',
dataType: 'json',
success: function(data){alert('test');},
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
返回“请求失败:错误”
使用fiddler2(检查http流量),我可以看到请求,并且响应是:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Thu, 03 Nov 2011 16:11:05 GMT
Content-Length: 159
{"Anniversary":false,"BillingPatternCode":6,"BillingPatternDesc":"Monthly Anniversary ","Frequency":1,"Monthly":true,"QuarterDayType":null,"QuarterDays":false}
但它不会显示。无论我尝试过什么。是的我已尝试过alert(data.BillingPatternDesc)
修改 它似乎没有执行“成功”功能。
答案 0 :(得分:2)
尝试提醒(data.d)而不是提醒(数据)。
编辑:不要认为它是相关的,但是在你发出警报后你错过了一个分号。
edit2:如果它没有执行成功函数,请将你的getJSON更改为$ .ajax并提供错误回调以查看问题所在。
答案 1 :(得分:2)
我提供的代码对我来说是正确的。我的猜测是问题可能在你的网址中。您的JSON请求是http://localhost:1337/Myservice.svc/rest/BillingPatterns
;运行脚本的页面是否也在localhost:1337
下运行?如果没有,您的浏览器将不允许您获取JSON,因为它被视为跨域请求。
如果您确实需要在不同的域/端口获取JSON资源,则可以使用JSONP。
答案 2 :(得分:0)
尝试使用alert(data.toSource());
或console.log(data);