gpt4 book ai didi

javascript - 提前输入和 Taginput : Issue with Remote Fetch

转载 作者:行者123 更新时间:2023-12-03 03:11:35 24 4
gpt4 key购买 nike

我正在使用以下脚本从我的 Controller 获取所有标签并将其用作预输入

<script>

$(function () {

var substringMatcher = function (strs) {
return function findMatches(q, cb) {
var matches, substringRegex;
matches = [];
substrRegex = new RegExp(q, 'i');
$.each(strs, function (i, str) {
if (substrRegex.test(str)) {

matches.push({ value: str });
}
});
cb(matches);
};
};


var states = (function () {
var states = null;
$.ajax({
'async': false,
'global': false,
'url': "../my/GetAllTags",
'dataType': "json",
'success': function (data) {
states = data;
}
});
return states;
})();

var tags = $('input.stateinput');
tags.tagsinput();

$(tags).each(function (i, o) {
var taginput = $(o).tagsinput('input');
taginput.typeahead({
hint: true,
highlight: true,
minLength: 1,
autoselect: true
}, {
name: 'states',
displayKey: 'val',
source: substringMatcher(states)
}).bind('typeahead:selected', $.proxy(function (obj, datum) {
$(o).tagsinput('add', datum.value);
taginput.typeahead('val', '');
}));
$(taginput).blur(function () {
taginput.typeahead('val', '');
});
});

});

</script>

当我加载网站时,我的 Controller 在控制台中出现错误,当我按任意键时,我会收到此错误,因为空值(这很明显,因为我无法访问 GetAllTags)

enter image description here

我的 Controller 如下

[HttpPost]
public JsonResult GetAllTags()
{
List<Models.Tags.MTag> Tag_List = new List<Models.Tags.MTag>();
Tag_List = GenerateList.GetTags();
var TAGS = Tag_List;
return Json(TAGS.Select(t => new { id = t.Tag_id, val = t.Tag_name }),
JsonRequestBehavior.AllowGet);
}

我做错了什么?

干杯

仅供引用:如果我直接添加数据,它就可以正常工作 - 例如

 var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky',
'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan',
'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska',
'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York',
'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon',
'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota',
'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington',
'West Virginia', 'Wisconsin', 'Wyoming'
];

最佳答案

您在 Chrome 上的 Javascript 控制台中看到的错误是因为您尝试使用 get 请求调用 POST,因此它找不到 API。试试这个:

$.ajax({
type: 'POST'
'async': false,
'global': false,
'url': "../my/GetAllTags",
'dataType': "json",
'success': function (data) {
states = data;
}
});

关于javascript - 提前输入和 Taginput : Issue with Remote Fetch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46928042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com