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
注:これらは応答ヘッダーのみですが、要求ヘッダーにも重要な情報が含まれていますか?