[英]How can I access the data passed back to an AJAX call?
現在我已經成功地從 Ajax 調用了我的控制器方法(有關詳細信息,請參閱此處的更新 2),下一步是訪問從 Ajax 成功函數中的控制器方法傳回的數據。
在這種情況下,我將傳回一個 jsonified 通用字符串列表(0..N 字符串值)。
如何從嵌入在 jquery ajax 調用中的成功函數訪問它們:
var model = JSON.stringify({ unit: unitval, report: rptval });
$.ajax({
type: 'GET',
url: '@Url.Action("GetUnitReportPairEmailAddresses", "UnitReportPair")',
data: { unit: unitval, report: rptval }, // data: model,
contentType: 'application/json', //<= this is paired with stringify above; if comment out one, comment out both
cache: false,
success: function (result) {
alert('success');
alert(result.data);
},
error: function () {
alert('failure');
}
});
我假設它是通過查詢“結果”對象,但如何? 我試過這個:
success: function (result) {
alert('success');
alert(result[0]);
},
...但只在“成功”警報后看到“未定義”警報。 一個簡單的“警報(結果)”什么也沒顯示,“警報(結果.數據)”也是如此
控制器(在測試用例場景中)正在傳回一個字符串,一個電子郵件地址。 在“現實生活”的用法中,它將是 0..N 個電子郵件地址,但現在它成功地傳回了一個字符串,但由於某種原因它不在“結果”中,或者我沒有從那里得到它因為它應該被提取。
好的,現在我們到了某個地方; 我在“成功”函數中放置了一個斷點,將鼠標懸停在它的“返回數據”參數上,然后看到:
然而,當我將此代碼添加到“成功”回調時:
success: function (returneddata) {
alert('success');
alert(UnitReportPairEmailVals[0]);
},
(用作為返回數據值的“UnitReportPairEmailVals”替換“returneddata”),在進入第二個警報時,我收到“未捕獲的引用錯誤:'UnitReportPairEmailVals'未定義”
未捕獲的引用錯誤:未定義“UnitReportPairEmailVals”
它本身沒有在任何地方定義。 它不是一個變量,它是一個變量的屬性。 具體來說,在returneddata
。 此處的變量的工作方式與它們在 C# 中的工作方式基本相同:
function (returneddata) {
alert(returneddata.UnitReportPairEmailVals[0]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.