【发布时间】:2019-08-07 01:25:11
【问题描述】:
我有一个 ajax 调用,它在我的 razor 页面模型中返回以下方法:
return new JsonResult(new { success = "false", data = "Invalid model state error." });
这会将以下结果返回给客户端:
{"$id":"1","success":"false","data":"无效模型状态错误。"}
但是我很难访问 Jquery 中的值。这是我尝试过的:
function onCompleted(result) {
alert(result.success);
alert(result[0].success);
}
错误信息:
未捕获的类型错误:无法读取未定义的属性“成功” 在 HTMLFormElement.onCompleted
Ajax 语法要求:
<form asp-page="./MultiEdit" asp-page-handler="CreateInvoiceItem" id="formInvoiceItem"
data-ajax="true"
data-ajax-method="post"
data-ajax-complete="onCompleted"
data-ajax-failed="onFailed">
....
</form>
观看:
【问题讨论】:
-
您能添加完整的
$.ajax语法吗?不应该是onComplete吗? stackoverflow.com/questions/1021062 -
@DaveAnderson 代码按要求添加,我将其定义为
onCompleted。 onCompleted 方法运行,我只是无法访问结果。 -
console.log(result) 并告诉我们是否真的是 json 对象或 xhr ,如果不是 json 对象,您将需要获取该值并给它一个变量并使用类似 JSON.stringify 的东西使其成为 json 并访问键/值 variablename.success
-
小心
responseJson将是未定义的,正确的属性是responseJSON。很高兴您找到了解决方案。
标签: jquery ajax asp.net-core