【发布时间】:2017-07-07 00:02:24
【问题描述】:
我是 javascript 和 jquery 的新手,在我的代码中我发起了一个 AJAX 调用,我得到了以下响应。
我正在尝试实现自动完成功能。我正在使用下面的代码进行 AJAX 调用。
$( "#city" ).autocomplete({
source: function( request, response ) {
jQuery.ajax({
url: "the url",
data: {SearchTerm: request.term}
success: function (data) {
console.log("the data is" +data);
response(data);
}
}).fail(function (jqXHR, textStatus, error) {
console.log("failure1" + textStatus);
console.log("failure2" + jqXHR.status);
});
},
minLength: 3,
select: function( event, ui ) {
console.log( ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
});
即使我看到来自服务器的 200 响应和 JSON 格式的响应,也不会调用成功方法并调用失败方法。由于我收到状态为 200 的 JSON 响应,不应该调用成功方法吗?
【问题讨论】:
-
这是无效的 JSON。您的服务器端组件(ViewCustomers?)正在转义所有引号。
-
谢谢詹姆斯。抱歉,你能告诉我这个 JSON 响应应该是什么样子吗?
-
{"suggestions": ["name1", "name2", "name3"]} -
我有另一个疑问,当我将 json 从服务器发送到客户端时,服务器会自动添加转义字符。有没有办法防止这种情况?我以 {"suggestions": ["name1", "name2", "name3"]} 格式发送响应
-
修复您的服务器代码以生成有效的 JSON。就是这样。
标签: javascript jquery json ajax