jQuery 自动完成将 null 参数传递给 ASP.NET MVC 2 中的 Controller

标签 jquery asp.net-mvc autocomplete

我正在使用 jQuery website 中的 jQuery 自动完成插件 调用 Controller url,返回 json。问题是发送到 Controller 的参数始终为空。

这里是浏览器内自动完成功能的 jQuery 代码:

$(document).ready(function() {
    var url = "/Building/GetMatchedCities";
    $("#City").autocomplete(url);
});

这是 C# 中的 ASPNET MVC Controller 签名:

public JsonResult GetMatchedCities(string city)
{
    ..
    return this.Json(query, JsonRequestBehavior.AllowGet);
}

提前致谢,

穆罕默德

最佳答案

我也遇到了同样的问题。在Fiddler中查看JQuery创建的URL后,我发现它看起来像这样:/MyController/MyMethod?term=x。因此,我更改了方法签名以使用参数名称“term”而不是“q”(“q”显示在 JQuery 网站自动完成示例中。)。这解决了问题,我仍然能够返回我需要的 JsonResult。

    public JsonResult MyMethod(string term) 
    {
        ...
        return Json(query, JsonRequstBehavior.AllowGet);
    }

关于jQuery 自动完成将 null 参数传递给 ASP.NET MVC 2 中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516620/

相关文章:

phpstorm 自动完成和 ctrl+click 无法识别嵌套变量/方法

asp.net-mvc - 将 ActionLink 的 returnUrl 从 View 传递到重定向回 View 的登录表单

c# - “找不到路径 '/favicon.ico' 的 Controller ...”错误

asp.net-mvc - JQuery 自动完成

javascript - 在 ng-repeat 中突出显示一行的更有效方法? ... Angular 方式

asp.net-mvc - unity and Random "Index was outside the bounds of the array"异常

elasticsearch - 精确匹配和模糊性...什么是好方法?

javascript - 在 PHP 中从国家代码获取货币信息

jQuery 登录 $.post

javascript - 如何删除 JavaScript 中的对象?