0

クロスドメイン リクエストの問題

私のajax呼び出しコードは、実際に指定されたURLをブラウザで直接実行していると、jsonデータが表示されますが、ajax呼び出しを使用すると、常にajaxエラーが表示されます。

$.ajax({
        crossDomain:true,
        type: "GET",
        url: 'http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        processData: false,
        success: function (data) {

                console.log(data);
                return;

        },
        error: function (err) {
            console.log("AJAX ERROR");
            console.log(err.responseText);
        }
    });

このリンクを直接確認することもできます。json データが表示されますが、エラーが見つかりました。なぜ「http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList」かわかりません

エラー: OPTIONS http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList Origin lhost:809 は Access-Control-Allow-Origin で許可されていません。

この問題で18日間ここで立ち往生している私を助けてください

4

1 に答える 1

1

and の部分を削除するcross-domaincontent-type機能しますが、JSON オブジェクトに入れるには、少し追加の文字列操作作業を行う必要があります。

$.ajax({
    type: "GET",
    url: 'http://taxihub.azurewebsites.net/Mobile/api/json.php?method=getCompanyList',
    dataType: "json",
    success: function (data) {
            console.log(data.result.getCompanyList[0].CompanyID);
            return;
    },
    error: function (err) {
        console.log("AJAX ERROR");
        console.log(err);
    }
});
}

実際、クロスドメインは、それの有無にかかわらず効果がないようです。あなたがターゲットにしているサーバーには、厳密なクロスドメイン防止機能はありませんが、JSON コンテンツ タイプが気に入らないと思います。より具体的な説明をいただければ幸いです。

編集問題があればJQuery 1.10.2を使用しました

于 2013-10-10T01:34:59.907 に答える