数组字符串未被识别为数组字符串

时间:2012-10-18 20:38:48

标签: javascript jquery arrays jquery-ui

我正在尝试使用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

就好像数据数组没有被重新组合成一个合适的数组。

有什么建议吗?

1 个答案:

答案 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标题