在Ajax成功/完成功能中接收未定义

时间:2014-11-05 22:25:52

标签: ajax json

我正在使用Jquery 1.11.1。我的代码如下,我收到“undefined”以响应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);

    }

当我使用成功而不是完成时,它没有达到成功功能!

1 个答案:

答案 0 :(得分:0)

这是因为在成功和错误回调之后完成运行。我认为你得到了一个错误,所以试着抓住它并看看它收到了什么。

如何在javascript中实际计算网址@@ Url.Action(“搜索”,“OfficeLocation”)?这对我来说似乎不是一个有效的网址。