jQuery クロスドメインのAjaxでエラーになってしまいます。


クロスドメインでjsを実行するためにlocalhostでテスト中です。

html側

[code]

    jQuery.ajax({
        type:'GET',
        url:Url,
        dataType: "jsonp",
        crossDomain: true,
        success : function (res) {
            alert("success");
        },
        error : function(res){
            alert("error");
        }
    });
    
[/code]

php側

[code]

    <?php
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
    echo json_encode( 123456789 );
    
[/code]

上記コードを実行すると `"error"` というダイアログが表示されます。  
一番シンプルな形にしているつもりですが、どこに原因があるのかつかません。  
echo を文字列にしたり、配列にしたりしてみましたが状況変わらずでした。

`dataType: "jsonp` を削除すると`"success"`が表示されます。

アドバイスお願いします。




php側の実装はJSONPではなくJSONですね。

JSONPなら

[code]

    callback(123456789);
    
[/code]

というJavaScriptを返すべきです。




php側の実装はJSONPではなくJSONですね。

JSONPなら

[code]

    callback(123456789);
    
[/code]

というJavaScriptを返すべきです。

