Javascript 添加空间时自动完成不工作
在我的项目中,我尝试使用以下插件创建自动完成效果: 这个插件工作正常,直到我没有在我的文本框中添加空间(在添加一个单词之后)。当我使用退格删除输入的单词时,自动完成显示的是之前应该显示的列表 PS:每次我通过ajax调用将文本字段的全文传递给服务器时,这在我的应用程序中是必要的 这是我的密码: (由于ajax url而无法工作) JSJavascript 添加空间时自动完成不工作,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,在我的项目中,我尝试使用以下插件创建自动完成效果: 这个插件工作正常,直到我没有在我的文本框中添加空间(在添加一个单词之后)。当我使用退格删除输入的单词时,自动完成显示的是之前应该显示的列表 PS:每次我通过ajax调用将文本字段的全文传递给服务器时,这在我的应用程序中是必要的 这是我的密码: (由于ajax url而无法工作) JS $(function () { var result = $('#result'); var contents = { val
$(function () {
var result = $('#result');
var contents = {
value: "",
data: ""
};
/* Ajax call */
result.keydown(function (event) {
if (!event.shiftKey) {
var sugData;
var text = result.val(); //.split(" ").pop();
//console.log(text);
/* Send the data using post and put the results in a div */
$.ajax({
url: "http://localhost:9999/projects/1/autocomplete/suggestions",
type: "POST",
data: "drqlFragment=" + text, // + " ",
//data: "drqlFragment=when node_database_property ",
async: false,
cache: false,
headers: {
accept: "application/json",
contentType: "application/x-www-form-urlencoded"
},
contentType: "application/x-www-form-urlencoded",
processData: true,
success: function (data, textStatus, jqXHR) {
var resData = data.suggestions;
//console.dir(resData);
for (var i = 0; i < resData.length; i++) {
resData[i].value = resData[i].keyword;
}
sugData = resData;
//console.dir(sugData);
},
error: function (response) {
//console.dir(response);
$("#result").val('there is error while submit');
}
});
console.dir(sugData);
$('#result').autocomplete({
lookup: sugData
});
}
});
});
$(函数(){
var result=$(“#result”);
变量内容={
值:“”,
数据:“”
};
/*Ajax调用*/
结果键控(功能(事件){
如果(!event.shiftKey){
var-sugData;
var text=result.val();//.split(“”.pop();
//console.log(文本);
/*使用post发送数据,并将结果放入div中*/
$.ajax({
url:“http://localhost:9999/projects/1/autocomplete/suggestions",
类型:“POST”,
数据:“drqlFragment=“+text,//+”,
//数据:“drqlFragment=when节点\数据库\属性”,
async:false,
cache:false,
标题:{
接受:“应用程序/json”,
contentType:“application/x-www-form-urlencoded”
},
contentType:“application/x-www-form-urlencoded”,
processData:对,
成功:函数(数据、文本状态、jqXHR){
var resData=data.suggestions;
//console.dir(resData);
对于(var i=0;i
HTML
<form id="foo">
<textarea id="result" rows="4" cols="50"></textarea>
<input type="submit" value="Send" />
</form>
很抱歉,我无法向您提供json数据,因为每当我按键时,服务器都会对其进行修改。(因此,实际上它是服务器在ajax调用时返回的一个对象变量)。每当我输入一个键时,ajax调用就会发生,它收集所需的数据并显示为自动完成建议。但是当我添加空间时,ajax调用返回所需的数据,但没有显示任何自动完成建议。后来,当我删除输入单词的两三个字符时,就会看到前面的自动完成建议。你能提供“建议”的代码吗function@SatpalSingh不
建议
没有空间,甚至我也无法提供与之相关的代码,因为每当我输入任何密钥时,服务器都会执行一些功能并返回一些数据作为响应。(ajax调用)。因此,问题与数据无关。我确信我在上面的代码中犯了一些错误,我无法理解。建议
没有空间,那么他们将如何用空间过滤文本,据我所知,一切正常,因为您没有任何数据。只是为了好奇,做一些数据和测试it@SatpalSingh一切都发生在服务器端。如果您再次看到my code,您会发现内容类型是“application/x-www-form-urlencoded”
,而不是json
。我知道很难重现我的问题。