codeigniter の ajax/jquery に問題があります。
Html ページにボタンがあります。ボタンを押すと、次のハンドラーが呼び出されます。
ボタン押下のハンドラー:
function postMessage(e) {
var postUrl = 'http://localhost/myProject/index.php/main/post_message';
$.ajax({
type: "POST",
url: postUrl,
success: successfulPost,
dataType: "text"
});
}
ajax コールバック:
function successfulPost(data) {
data = JSON.parse(data);
document.write(data[0].hello);
}
メインコントローラー内のサービス機能:
function post_message() {
echo "[{\"hello\":\"world\"}]";
return;
}
問題は、JSON.parse() が彼の仕事を成し遂げていないように見えることです。
これらの関数は非常に単純なので、コードイグナイターに問題があるのではないかと考え始めています。
編集:
興味深いのは、まったく同じ json 文字列を JSON.parse() に入れると解析されることです。問題は、サービス関数がそれを渡すときです。
編集:
json 文字列の文字数を数えると 13 のはずですが、17 になります...
編集:
エコーが適切に行われていても、HTTP 応答の本文の先頭に奇妙な文字があることを認識しています...改行 \0 やタブなど、誰かが理由を知っていますか?