来自Json POST的未定义值

时间:2017-10-19 01:53:54

标签: c# json asp.net-mvc typeahead bloodhound

我有这个脚本

<script>

    var engine = new Bloodhound({       
        remote: {
            url: '/my/GetAllTags',
            ajax: {
                type: 'POST'
            }
        },        
        datumTokenizer: function (d) {
            return Bloodhound.tokenizers.whitespace(d.val);
        },
        queryTokenizer: Bloodhound.tokenizers.whitespace
    });

    engine.initialize();

    $('#tokenfield-typeahead').tokenfield({
        typeahead: [null, { dispalyKey: 'val', source: engine.ttAdapter() }]
    });


</script>

我的控制器返回值是以下

[HttpPost]
        public JsonResult GetAllTags()
        {
            List<Models.Tags.MTag> Tag_List = new List<Models.Tags.MTag>();
            Tag_List.Add(new Models.Tags.MTag { Tag_id = 1, Tag_name = "Test 1" });
            Tag_List.Add(new Models.Tags.MTag { Tag_id = 1, Tag_name = "Test 2" });
            var TAGS = Tag_List;
            return Json(TAGS.Select(t => new { val = t.Tag_name }));

        }

模型非常简单且只有两个字段

 public class MTag
    {
        public Int64 Tag_id { get; set; }
        public string Tag_name { get; set; }
    }

我的结果为UNDEFINED,如下图所示

enter image description here

我不确定我做错了什么,任何想法

欢呼声

0 个答案:

没有答案