2017-12-16 18 views
0

私はvanilla jsでAJAXを学んでいます。 次のコードでリクエストを取得しました(AJAX)。AJAX経由でchromeでファイルを取得できません

document.addEventListener('DOMContentLoaded',() => { 
console.log('ready!'); 
let xhr = new XMLHttpRequest(); 
xhr.onreadystatechange =() => { 
    if (xhr.readyState === 4) 
     document.getElementById('file-data').innerText = xhr.responseText; 
    xhr.send(); 
} 
xhr.open('GET', 'file:///E:ada/kk.js', true); 
}); 

これはFirefoxで完璧に動作しますが、クロームで、私は次のエラーを取得しています: - kk.js @

kk.js:7 Failed to load file:///E:/ada/kk.js: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. 

xhr.onreadystatechange:7

kk.js:7 Uncaught DOMException: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED. 
at XMLHttpRequest.xhr.onreadystatechange (file:///E:/ada/kk.js:7:9) 
at XMLHttpRequest.xhr.onreadystatechange (file:///E:/ada/kk.js:7:9) 
at HTMLDocument.document.addEventListener (file:///E:/ada/kk.js:9:5) 

答えて

1

あなたがロードされているためだというあなたのローカルマシンからファイルを取得してください.HTMLコールではないので、エラーメッセージが表示されます。

あなたは、 http://example.com/path/to/fileのようなURLのどこかでファイルをホストするか、そうでなければローカルサーバーで提供する必要があります

関連する問題