我正在使用jquery-1.4.2.min
和jquery-ui-1.8.6.custom
来获取jsp页面上的自动填充数据,以下是代码段:
$(document).ready(function() { $("input#airportfrom").autocomplete({minLength: 3,
source: function(request, response) { $.ajax({
url: "MLocationLookupSearchPopUpAuto.action?LANGUAGE=${param.LANGUAGE}&SITE=${param.SITE}&RESULT_FILTER=3",
dataType:"text/html",
data: { MATCH : $("#airportfrom").val() },
success: function(data) { response(data); } }); } }); });
返回的结果是正确的,因为我在成功函数中使用了alert(data);
并且它给出了正确的结果,但在列表中,它每行显示一个字符或一个字母,因此如果我想获得伦敦,它显示为:
l
o
n
d
o
n
知道为什么会这样吗?我们是否必须以json的形式提供数据,因为这里我从jsp获取数据。
答案 0 :(得分:1)
尝试使用“\ n”
将响应数据拆分为行$("#tags").autocomplete({
source: function(request,response) {
$.ajax({
dataType: "text",
url: 'yourscript.php?extraParam=foo',
data: { term: request.term },
success: function(data) {
var lines = data.split("\n");
response(lines);
}
})}
});
答案 1 :(得分:1)
我遇到了同样的问题,并且在服务器端将对象序列化两次(错误地)。返回到客户端的JSON数据被反序列化为字符串而不是数组。