html5仕様によりHTML5 XMLHttpRequest Level 2 APIがサポートされるはずですが、自分で作ったサンプルはやはりだめだった。マルチドメインにアクセス処理は現時点でまだサポートされていないでしょうか?
下記のサンプルではGoogle或はYahooサイトを取得できるはずですが、何回も試したら、エラー0を戻されました、これはどんなエラーでしょうか?自分の勉強不足でエラーの原因が分かりません。;(
サンプル:
http://html5next.appspot.com/xmlhttprequest.html
ご存知の方はいらっしゃったら教えていただけませんでしょうか?
ソース: <script type="text/javascript"> function clsProgress() { document.getElementById("divMsg").innerHTML = ""; } function setProgress(msg) { document.getElementById("divMsg").innerHTML += msg + "<br/>"; } function formload() { try { var xhr = new XMLHttpRequest() if (typeof xhr.withCredentials === undefined) { alert("残念ですが、あなたのブラウザーはXMLHttpRequest Level2はサポートしていません。"); $("#btnGoogle").attr("disabled", "disabled"); $("#btnYahoo").attr("disabled", "disabled"); } else { $("#btnGoogle").removeAttr("disabled"); $("#btnYahoo").removeAttr("disabled"); xhr.upload.onprogress = function(e) { var ratio = e.loaded / e.total; setProgress(ratio + "% uploaded"); } xhr.onprogress = function(e) { var ratio = e.loaded / e.total; setProgress(ratio + "% downloaded"); } xhr.onload = function(e) { setProgress("finished"); } xhr.onerror = function(e) { setProgress("error:" + e.target.status); } xhr.onreadystatechange = function() { setProgress("readyState=" + this.readyState + ", status=" + this.status + ", responseText=" + this.responseText); } $("#btnGoogle").click(function(){ clsProgress(); setProgress("Google"); xhr.open("GET", "http://www.google.co.jp", true); xhr.send(null); }); $("#btnYahoo").click(function(){ clsProgress(); setProgress("Yahoo"); xhr.open("GET", "http://www.yahoo.co.jp", true); xhr.send(null); }); } } catch(e) { alert(e.description); } } </script>
1 件のコメント:
すでに解決されているかも知れませんが、まだのようでしたらこちらをご覧下さい。
http://www.aduca.org/2010/07/xmlhttprequest-lv2%E3%81%AE%E3%83%8F%E3%83%9E%E3%82%8A%E3%81%A9%E3%81%93%E3%82%8D/
的外れでしたらすみません。
コメントを投稿