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