0
我正在使用Jquery 1.11.1。我的代码如下,我收到“未定义”响应ajax调用。任何人都可以请帮我找到解决方案吗?接收未定义的Ajax成功/完整功能
$(document).ready(function() {
$("#txtSearch").keyup(function (e) {
e.preventDefault();
var x = $("#txtSearch").val();
// alert(x);
$.ajax({
type: "POST",
url: '@Url.Action("Search","OfficeLocation")',
dataType: "application/json; charset=utf-8",
data: JSON.stringify({"Location":x}),
// dataType: "json",
complete: function (data) {
var table = "<table class='table'>";
$.each(data, function (index, value) {
table += "<tr><td>" + value.Name + "</td></tr>";
});
table += "</table>";
alert(table);
$("#myData").html(table);
}
});
});
});
和相关的控制器:
public ActionResult Search(string Location)
{
var LocationViewModel = new List<OfficeAssignment>();
LocationViewModel = db.OfficeAssignments.Where(x => x.Name.StartsWith(Location)).ToList();
return Json(LocationViewModel,JsonRequestBehavior.AllowGet);
}
当我使用的成功,而不是完整的,它不打成功的功能!
看来这个URL工作并将值发送给控制器,但是不会将json结果返回到完整/成功函数。我看到LocationViewModel包含正确数量的值!那么,还有什么可能导致这个问题?! – user3912257 2014-11-10 18:35:16
尝试添加一个'错误'处理程序并从那里进行调试。或者添加一个try-catch serverside。可能是服务器错误发生。如果服务器返回一些东西,总会有一个响应。另一件事是检查POST请求到服务器,并查看它在浏览器的开发人员工具中返回的内容。 – 2014-11-10 19:01:53
我得到了[object] [object]。我试着去读取这个值的属性名称,但仍然显示类似的对象。 – user3912257 2014-11-16 16:40:18