gpt4 book ai didi

javascript - jQuery自动完成发送出奇怪的字符

转载 作者:行者123 更新时间:2023-11-27 23:45:24 25 4
gpt4 key购买 nike

我已经通过Web API成功地将jquery ajax与get和post方法一起使用

但是,现在我有一个任务需要做一个自动完成

我查看了几个示例,但这些示例困扰我一些疯狂的生成URL,这对我来说是陌生的

网址:

http://localhost:11974/GetPersonInfoFromRegister?term=ad&_=1445370940988


“术语”从哪里来?
“ 1445370940988”从哪里来?

的HTML

input type="text" id="txtSearch" />


jQuery:

$(function () {
$('#txtSearch').autocomplete({
source: function(request, response) {
$.ajax({
url: '/GetPersonInfoFromRegister',
type: 'GET',
cache: false,
data: request,
dataType: 'json',
success: function(json) {
// call autocomplete callback method with results
response($.map(json, function(name, val) {
return {
label: name,
value: val
}
}));
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//alert('error - ' + textStatus);
console.log('error', textStatus, errorThrown);
}
});
},
minLength: 2,
select: function(event, ui) {
alert('you have selected ' + ui.item.label + ' ID: ' + ui.item.value);
$('#txtSearch').val(ui.item.label);
return false;
}
});
});

最佳答案

我没有对自动完成功能做很多事情,但是在我做的应用程序的一部分中,自动完成功能1是使用Angular,但另一个是使用jquery注释掉的

在被评论之前,它运行良好。

您需要进行一些更改才能使其正常工作。


从GET更改为POST(我记得request和request.term吐出Web api不需要的字符,路由引擎也没有。
只是注意到各种变化,它“应该”起作用

$(function () {

$("#TextBox1").autocomplete({
source: function (request, response) {
$.ajax({
url: '/GetPersonInfoFromRegister/'+request.term,
data: "{ 'id': '" + request.term + "' }",
dataType: "json",
type: "POST",
//type: "GET",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data, function (item) {
return {
value: item.YOURMODELPROPERTY

}
}));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(textStatus);
}
});
},
minLength: 2
});


});


我将代码与YOURS混合在一起,但是应该很接近

WEB API

[HttpPost]
[Route("GetPersonInfoFromRegister/{id}")]
public IEnumerable<MODELOFYOURS> GetPersonStuff(string id) // id matches Route
{
.....
return _db.MODELOFYOURS.Where(m => m.PROPERTYOFYOURS.Contains(id)).ToList();

}

关于javascript - jQuery自动完成发送出奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33245965/

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