我正在尝试使用jQueryUI的AutoComplete小部件来创建一个搜索输入,人们可以输入名称并自动找到他们正在寻找的内容。
我的服务器后端正在返回以下内容:
$.get("http://localhost/academico/materias/listnames", function(data){
$('.materiaPicker').autocomplete({
// An example from jQueryUI documentation:
// source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
// This is the actual returned in 'data': ["Introduccion a Marketing ","Gerencia de Preparacion y Evaluacion de Proyecto","Gerencia Estrategica"]
source: data
});
});
使用Firebug这是服务器响应:
["Introduccion a Marketing ","Gerencia de Preparacion y Evaluacion de Proyecto","Gerencia Estrategica"]
每当我在“自动完成”框中键入内容时,会触发一个类似以下内容的请求:
http://localhost/academico/programaofrecidos/%5B%22Introduccion%20a%20Marketing%20%22,%22Gerencia%20de%20Preparacion%20y%20Evaluacion%20de%20Proyecto%22,%22Gerencia%20Estrategica%22%5D?term=gera
就好像数据数组没有被重新组合成一个合适的数组。
有什么建议吗?
答案 0 :(得分:0)
似乎响应被解释为字符串,然后自动完成使用它来检索autoCompletion。
网址不以http://开头,因此将其视为相对网址,然后将基本网址用作前缀。
所以你有
http://localhost/academico/programaofrecidos/%5B%22Introduccion%20a%20Marketing%20%22,%22Gerencia%20de%20Preparacion%20y%20Evaluacion%20de%20Proyecto%22,%22Gerencia%20Estrategica%22%5D?term=gera.
使用
http://localhost/academico/programaofrecidos/
作为基本路径和
%5B%22Introduccion%20a%20Marketing%20%22,%22Gerencia%20de%20Preparacion%20y%20Evaluacion%20de%20Proyecto%22,%22Gerencia%20Estrategica%22%5D
是你'数组'(实际上是一个表示数组的字符串)URL编码。
智能猜测可能还不够,在您的通话中将 dataType 附加到“json”,并最终在服务器端附加 JSON标题。