1

API を作成しましたが、Chrome のテスト .html ファイルからアクセスしようとしています。file:///... を介してファイルにアクセスしていますが、ローカルのファイルシステムの制限を受けています。API でクロス オリジン リクエスト アクセスを有効にしましたが、アクセスしようとすると次のようになります。

XMLHttpRequest は http:// を読み込めません。メソッド undefined は、Access-Control-Allow-Methods では許可されていません。

リクエスト/レスポンス ヘッダーは次のとおりです。

リクエスト/レスポンス ヘッダー

私が使用しているJavaScriptコードは次のとおりです。

var xmlhttp;
if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest();
else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        if (params.success) params.success(xmlhttp.responseText);
    } else if (xmlhttp.readyState == 4) {
        if (params.error) params.error(xmlhttp, xmlhttp.status, xmlhttp.responseText);
    }
};

xmlhttp.open(params.method, params.url, true);
xmlhttp.setRequestHeader('Content-Type', 'application/json');
xmlhttp.setRequestHeader('Accept', 'application/json, text/javascript, */*; q=0.01');

if (params.data) xmlhttp.send(params.data);
else xmlhttp.send();

jquery から $.getJSON を使用すると、API 呼び出しは正常に機能しますが、それは望ましくありません。純粋な JavaScript である必要があります。何が間違っている可能性がありますか?

4

1 に答える 1

0

申し訳ありません..テスト別名デバッグまたは本番に必要かどうかは尋ねませんでした

次のセキュリティ パラメータを使用して Chrome を開きます。

C:\****\chrome.exe chromium-browser --disable-web-security

クロムの場合:

C:\****\chrome.exe google-chrome --disable-web-security

私はクロムを使用していますが、クロムでも動作するはずです..

于 2013-05-16T10:56:08.863 に答える