jQuery自动完成功能不适用于后端生成的JSON

时间:2015-04-07 07:29:05

标签: jquery json autocomplete

我正在使用jQuery自动完成如下,如果我使用jQuery的默认url代码可以工作,但是当我使用我的后端生成的JSON并在我的输入元素中键入内容时,我确信该函数调用后面的 - end和后端生成JSON,但自动完成不显示返回的JSON的值。

$(function() {
        $("#name").autocomplete(
                {
                    source : function(request, response) {
                        $.ajax({
                            url : "http://localhost:2051/myproject/names",
                            dataType : "jsonp",
                            data : {
                                q : request.term
                            },
                            success : function(data) {
                                response(data);
                            }
                        });
                    },
                    minLength : 2,

                });
    });

后台地址

的JSON
"http://localhost:2051/myproject/names"

返回如下

["Podgorica, CG, Yugoslavia"]

当我使用自动填充的默认版本附带的url键入pod时,会显示并成功填充建议框。

 ["Podgorica, CG, Yugoslavia"]

我不确定为什么它不会显示后端返回的JSON。另一个问题是如何获得项目的地图,而不是项目的价值我将其密钥传递给后端?

1 个答案:

答案 0 :(得分:1)

这段代码可以找到。

   $("#tags").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "http://localhost:43580/bmac/home/index",
                    dataType: "json",
                    data: { q: request.term },
                    success: function (data) {
                        response(data);
                    }
                });
            }
        });

和后端

[AllowAnonymous]
    public virtual ActionResult Index()
    {
        return Json(new[] { "Podgorica CG Yugoslavia" }, JsonRequestBehavior.AllowGet);
    }

返回

["Podgorica CG Yugoslavia"]