愚かな間違いを犯さないようにするために、可能な限り単純なシナリオを作成しました
HTML/JS ファイル(jQuery 1.6.x を使用していますが、1.9.x の jsfiddle でも試しました)
$.ajax({
dataType: "jsonp",
url: 'http://example.com/api/test.php',
success: function(data){
//Never reached
alert('Success');
console.log(data);
}
});
test.php - PHP 5.3.x
<?php
header("Content-Type: application/json; charset=utf-8", true);
echo json_encode(array("test" => "test"));
?>
エラーが返されました
Uncaught SyntaxError: Unexpected token :
私はphpファイルのヘッダーとajax呼び出しのいくつかのパラメータをいじりました。何も機能しませんでした。この単純なシナリオが機能しない理由について、私は本当に混乱しています。URL を別のソース ( http://echo.jsontest.com/test/testなど)に変更すると機能するため、問題は PHP 側にあります。PHPの設定だと思いますが、どこを見ればいいのかわかりません。