[英]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.