2017-01-13 69 views
3

我有一个ajax调用返回一行数据,但我似乎无法访问数据,任何想法。Ajax响应无法访问数据项

AJAX

$.ajax({ 

    url: '@Url.Action("BanksDetails")', 
    data: JSON.stringify({ Id: BankId }), 
    dataType: 'JSON', 
    contentType: "application/json; charset=utf-8", 
    async: true, 
    type: 'POST', 
    success: function (data) { 
     console.log('Data' + data[0].BankName); 
    }, 
    error: function (__x, __h, __m) { 
     console.log('ajax returned error', __m, __x, __h); 
    } 
}); 

响应

{"Id":1,"BankName":"Bank xxxxxxx","Funding":70.00} 

上面给我的错误:

Cannot read property 'BankName' of undefined 

回答

4

data该对象,而不是包含该对象的数组。所以,你不希望[0],只是:

console.log('Data' + data.BankName); 

你从data[0].BankName得到的错误,因为没有0财产上data,所以data[0]undefined,你不能从价值undefined.读取属性

(如果需要的[0],响应将需要[{"Id":1,"BankName":"Bank xxxxxxx","Funding":70.00}]   —注意[],但{...}表示的对象。)

+1

Agghhh我发誓我在很久以前就试过了,它引起了一个错误......虽然这次工作,谢谢。 – JBoom

+0

@JBoom:我们都去过那里。 :-) –