Jquery 为什么这个getJSON调用返回未定义的?

Jquery 为什么这个getJSON调用返回未定义的?,jquery,json,Jquery,Json,我在内部服务器上运行了一个JSON服务,该服务返回以下记录: { "getLTCWithIDsResult": { "AIMSubmissionID": "", "BrokerName": "", "DateApplied": "/Date(1389302726241-0600)/", "Dirty": false, "EffectiveDate": "/Date(1389302726241-0600

我在内部服务器上运行了一个JSON服务,该服务返回以下记录:

    {
    "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不,它没有被弃用,也没有被删除。你误解了弃用通知,它说的是完全不同的东西。