【问题标题】:Net Core and JQuery autocompleteNet Core 和 JQuery 自动完成
【发布时间】:2022-01-16 23:03:44
【问题描述】:

我在让 JQuery 自动完成功能在 Net Core 中工作时遇到了一些实际问题。

这是我的客户端脚本:

<script>
$(document).ready(function () {


    $('#txtSystemUserDisplayName').autocomplete({
        change: function (event, ui) {
            if (!ui.item) {
                $('#txtSystemUserDisplayName').val("");
            }
        },

        source: function (request, response) {

            $.ajax({
                url: "@(Url.Action("SearchEmployeesAJAX", "Home" ))",
               // data: "{ 'term': '" + request.term.replace(/'/gi, "\\'") + "'}",
                data: { term: 'fumanchu' },
                dataType: "json", type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    var x = Array.prototype.slice.call(data);
                    response($.map(x, function (item) {

                        return {
                            label: item.employeeDisplayName,
                           
                        }
                    }))



                }, error: function (response) { alert(response.responseText); }, failure: function (response) { alert(response.responseText); }
            });
        },
        select: function (e, i) {


            $("#hfSystemUserDisplayName").val(i.item.label);





        },
        minLength: 1
    });

});

现在,当我开始输入时,自动完成功能会触发,但无论我做什么,控制器方法中的参数都是 NULL 。我在请求的数据对象中称之为“术语”并不重要。是的,我确保控制器方法参数的名称相同。例如

public JsonResult SearchEmployeesAJAX(String term) {

正如您所见,我什至将其注释掉并在其中硬编码了一个字符串,但仍然为空。 如果我将字符串设置为 URL 的一部分,它确实有效,例如:

url: "@(Url.Action("SearchEmployeesAJAX", "Home", new {@term="blahblahblah" } 

这就是我过去在 .Net Framework 上执行自动完成的方式,从未遇到过问题。 Net Core 有什么我不知道的不同之处,也许是请求的形成方式有什么不同?

任何帮助将不胜感激。

【问题讨论】:

  • 发送ajax请求导致控制器接收参数失败的可能性较大。无论如何,你已经解决了你的问题,恭喜。

标签: asp.net-core jquery-ui autocomplete


【解决方案1】:

好的,如果其他人也有这个问题,看来您不能再使用 Url.Action 帮助器并且参数仍然不为空。 您将需要使用原始字符串作为 url,这似乎解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2010-09-23
    • 2016-10-07
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多