【发布时间】:2013-05-06 08:06:18
【问题描述】:
我将弹出窗口显示为Undefined 并显示如下错误:
无法获取未定义或空引用的属性“domain_name”。
任何机构都可以帮助解决这个问题
从视图:
@Html.ActionLink("Details", "",
new { id = item.id },
new { onclick = "someFunction(" + item.id + ")",
href = "javascript:void(0)" })
Javascript
function someFunction(id) {
$.ajax({
type: 'POST',
url: '@Url.Content("~/")Contracts/Test/',
data: { 'id': id },
dataType: 'json',
success: function (data) {
alert(data.domain_name);
},
error: function (xhr, status, exception) {
alert("Error: " + exception + ", Status: " + status);
}
});
}
控制器动作
enter code here
public JsonResult Test(int id)
{
var result = (from cntrct in db.contracts where cntrct.id == id
select new { cntrct.domain_name, cntrct.id}).ToArray();
return Json(result);
}
以下是我从 db 获取但无法传回 JavaScript 的数据。
错误
SCRIPT7002:XMLHttpRequest:网络错误 0x2ef3,由于错误 00002ef3,无法完成操作。 合同
【问题讨论】:
-
所以错误是因为从Json ActionResult传回的数据为null;您能否验证 id 是否正确传递给
someFunction,并且 db 中存在具有相应 id 值的合约? -
感谢您的快速回复。该 id 值存在于 DB 中,但无法将该数据传递回 javascript..
-
HTML 的 ID 不应该只是数字。
-
返回的数据是一个数组。警报应该是
if(data.length){ alert(data[0].domain_name); }
标签: javascript jquery asp.net-mvc