我在 json 中收到了对 jQuery 的回复。逻辑工作正常,但我无法让他正确编码数据(如 üäö)。
我在 SO 上搜索并找到了这个问题,它建议将其更改getJSON
为普通的 AJAX 调用。我已经这样做了,并添加了setContentType
选项,但是,只要出现 äüö,我仍然会得到奇怪的迹象。
关于如何解决这个问题的任何想法?
$(function() {
$("#cnAntragsteller").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://localhost/api",
dataType: "jsonp",
data: {
search: request.term
},
success: function(data) {
response($.map(data.persons, function(item) {
return {
label: item.cn + " (PN: " + item.imPersonalNumber + ")",
value: item.cn,
pn: item.imPersonalNumber,
cn: item.cn,
cc: item.imCostCenter,
jb: item.imJobTitle,
jbd: item.imJobTitleDescription
}
}));
}
});
},
minLength: 0,
select: function(event, ui) {
$("#pnAntragsteller").val(ui.item.pn);
$("#jbAntragsteller").val(ui.item.jb);
$("#jbdAntragsteller").val(ui.item.jbd);
$("#ouKostenstelle").val(ui.item.cc);
$.ajax({
url: "http://localhost/api",
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: {
pn: ui.item.pn
},
success: function(data) {
$("#cnLeiter").val(data.cn);
}
});
}
})
})
响应标头(第一个标头不显示数据,它只是重定向到输出):
Content-Length:0
Date:Tue, 22 May 2012 06:13:41 GMT
Location:http://localhost/api/redirection
Server:Apache-Coyote/1.1
Content-Length:177
Content-Type:text/html
Date:Tue, 22 May 2012 06:13:41 GMT
Expires:0
Server:Apache-Coyote/1.1
注意:这些只是响应头,请求头是否也包含重要信息?