当前位置:  开发笔记 > 后端 > 正文

jquery getJson没有将任何值传递给控制器

如何解决《jquerygetJson没有将任何值传递给控制器》经验,为你挑选了1个好方法。

我试图将一些文本从文本框传递到控制器,以获得JSON结果

function invokeAction() {
        var searchText = $("#SearchTextBox").val();

        // Invoke MVC controller action
        $.getJSON("/Home/Results/" + searchText, bindResults);
    }

如果我在此处发出提醒,我可以看到searchText肯定有一个值,但是当我在此控制器操作上设置一个断点时:

 public ActionResult Results(string search)
    {
        var r = from t in db.Restaurants
                where SqlMethods.Like(t.Name, "%" + search + "%") || SqlMethods.Like(t.Postcode, search + "%") || SqlMethods.Like(t.CuisineType.Type, search + "%")
                orderby t.Name ascending
                orderby t.Rating descending
                orderby t.NumOfViews
                    descending
                select t;

        return Json(r.ToList());
    }

传入的字符串为null,但是当我在调试器中检查http上下文时,我的searchtext是url的一部分.

由于这是null,查询不返回任何结果.

我在这里错过了什么吗?



1> bendewey..:

我从服务中返回json时遇到了一些问题,我没有收到任何回电.事实证明,json格式错误,我能够通过处理普通ajax调用的错误选项来测试并获得这些错误.

$.ajax({
  type: "GET",
  url: "Home/Results/",
  data: { search: searchText },
  dataType: "json",
  error: function(xhr, status, error) {
    // you may need to handle me if the json is invalid
    // this is the ajax object
  },
  success: function(json){
    alert( "Data Returned: " + json);
  }
});

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有