【问题标题】:How to make Jquery Select2 work with ASP MVC 3如何使 Jquery Select2 与 ASP MVC 3 一起工作
【发布时间】:2012-12-26 20:08:14
【问题描述】:

我最近一直在努力使用 Jquery Select2 (Select2),试图实现从 ASP MVC ActionResult 获取数据的 ajax 回调。

这是我的 HTML 代码:

<input type="hidden" id="e2" style="width: 500px;">

这是js代码:

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

    $("#e2").select2({
        minimumInputLength: 1,
        ajax:{
          url: "http://localhost:1800/Test/GetCountries",
            dataType:"jsonp",
            data: function(term, page){
                return {
                    query: term
                };
            },
            results: function(data){
                return {
                    results: data
                };
            }
        }
    });

});

GetCountries 函数非常简单,它只返回与搜索词匹配的国家。这是搜索“团结”一词时的示例:

[{"id":"AE","text":"United Arab Emirates"},{"id":"UK","text":"United Kingdom"},{"id":"US","text":"United States"}]

我尝试将格式从 application/json 更改为 text 来回没有成功。我想我在我的函数返回的 json 上遗漏了一些东西,但是三个小时后我仍然不知道这里可能出了什么问题。

当我在网络选项卡上查看 Chrome 调试器时,它似乎调用了该​​函数并且正在发送数据。但是,当我输入字母时,什么都没有显示,它只会永远显示“正在搜索...”文本。

如果有人遇到过同样的情况,请分享您的想法。提前致谢。

【问题讨论】:

    标签: asp.net-mvc-3 jquery-select2


    【解决方案1】:

    自从我要求这个以来已经有一段时间了。我还没有时间让 Select2 工作,尽管默认 Bootstrap 的 Typeahead 的解决方法可以做到。

    所以,如果有人过来,不要打扰回答。

    【讨论】:

      【解决方案2】:

      这里的问题是

      dataType:"jsonp"
      

      解决方案:

       dataType:"json"
      

      查看更多What is JSONP all about?

      【讨论】:

      • 谢谢,但实际上这不是问题所在。我需要对生产进行跨域调用。我最终得到的是创建一个 JS 自动完成控件。我花了 4 天时间,效果很好。
      猜你喜欢
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多