Jquery 为什么这个getJSON调用返回未定义的?
我在内部服务器上运行了一个JSON服务,该服务返回以下记录:Jquery 为什么这个getJSON调用返回未定义的?,jquery,json,Jquery,Json,我在内部服务器上运行了一个JSON服务,该服务返回以下记录: { "getLTCWithIDsResult": { "AIMSubmissionID": "", "BrokerName": "", "DateApplied": "/Date(1389302726241-0600)/", "Dirty": false, "EffectiveDate": "/Date(1389302726241-0600
{
"getLTCWithIDsResult": {
"AIMSubmissionID": "",
"BrokerName": "",
"DateApplied": "/Date(1389302726241-0600)/",
"Dirty": false,
"EffectiveDate": "/Date(1389302726241-0600)/",
"ExpiringPremium": 0,
"GrandTotal": 0,
"Insured": {
"Address1": "",
"Address2": "",
"City": "",
"County": "",
"InsuredName": "Nice Try Bro",
"MailAddress1": "",
"MailAddress2": "",
"MailCity": "",
"MailCounty": "",
"MailState": "",
"MailZip": "",
"Phone1": "",
"Phone2": "",
"State": "",
"Zip": ""
},
"IsRenewal": false,
"Locations": [ ],
"PercentChange": 0,
"PolicyID": "",
"QuoteID": 0,
"QuoteVersion": 0,
"RetroDate": null,
"Status": null
}
}
我试图使用以下脚本将此记录的一部分放到HTML页面上。不幸的是,success:function(data)行中的数据变量不断返回“undefined”。有人能帮忙吗
$(document).ready(function ()
{
var appViewModel
// AppViewModel
function AppViewModel()
{
this.InsuredName = ko.observable();
}
var appViewModel = new AppViewModel();
ko.applyBindings(appViewModel);
$.getJSON("http://waltweb01:85/LTCEPLWS/LTCJSON.svc/getLTCWithIDs/'4'",
{
success: function (data)
{
incomingData = data;
appViewModel.InsuredName(incomingData.InsuredName);
}
});
});
这不是使用$.getJSON
的方式。在使用$.ajax
时,仅使用success:function()
。使用速记方法($.getJSON
、$.post
和$.get
)时,只需传递函数,而不是对象
$.getJSON("http://waltweb01:85/LTCEPLWS/LTCJSON.svc/getLTCWithIDs/'4'", function(data){
incomingData = data;
appViewModel.InsuredName(incomingData.InsuredName);
});
您的JavaScript代码是否也在
http://waltweb01:85
?如果没有,那么您需要配置JSONP或CORS。incomingData.InsuredName
是访问您要查找的属性的错误方法。不,JS正在我的开发设备上运行。并将运行(希望)在另一个域下。我想我会用谷歌搜索JSONP/CORS。将CORS插入我的web.config中解决了这个问题。谢谢如果您想获得技术支持,那么使用getJSON
也不是这样的。随着promise接口的实现,建议您将代码迁移到使用完成
,失败
,以及始终
@justiniessner:我猜,但这仍然很好。实际上,不是这样。success
回调已被弃用(这是您的建议所依赖的),可以在将来的版本中随时删除。@JustinNiessner不建议也不需要它,它是一种替代方法。不使用promise接口没有错。@JustinNiessner不,它没有被弃用,也没有被删除。你误解了弃用通知,它说的是完全不同的东西。