- 論壇徽章:
- 0
|
場景如下,今天看到 HTML5 關(guān)于XMLHttpRequest Level2 的內(nèi)容, 也就是HTML5的規(guī)范中新增加了跨域異步請求的 API , 我按照規(guī)范寫了一個DEMO,代碼如下- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <title>跨域AJAX 數(shù)據(jù)上傳</title>
- <script type="text/javascript">
- function sendData(){
- var xhr = new XMLHttpRequest();
- if(typeof xhr.withCredentials == undefined){
- document.getElementById("support").innerHTML = "抱歉,你的瀏覽器不支持 跨域異步數(shù)據(jù)請求";
- return false;
- }else{
- document.getElementById("support").innerHTML = "恭喜,你的瀏覽器支持 跨域異步數(shù)據(jù)請求"
- }
- xhr.upload.onprogress = function(e){
- var ratio = e.loaded/e.total;
- setProgress("up",ratio + "% uploaded");
- }
- xhr.onprogress = function(e){
- var ratio = e.loaded/e.total;
- setProgress("down",ratio + "% uploaded");
- }
- xhr.onload = function(e){
-
- setProgress("up","upload compelete.");
- alert(xhr.responseText);
- }
- xhr.onerror = function(e){
- setProgress("up","ERROR");
- }
- var url = "http://my.bbs.com/test.php";
- xhr.withCredentials = true;
- xhr.open("POST",url,true);
- xhr.send("this is a test data for upload");
- }
- function setProgress(id,str){
- document.getElementById(id).innerHTML = str;
- }
- </script>
- </head>
- <body>
- <h1>XMLHttpRequest Level2</h1>
- <input type="button" name="hd" value="上傳數(shù)據(jù)" onclick="sendData()" />
- <div id="support"></div>
- <div id="up"></div>
- <div id="down"></div>
- </body>
- </html>
復(fù)制代碼 服務(wù)器端出來如下
http://my.bbs.com/test.php 這個文件的代碼如下- <?php
- header("Expires: -1");
- header("Cache-Control: no-cache");
- header("Access-Control-Allow-Credentials: true");
- header("Access-Control-Allow-Orgin: http://www.yuetong.com");
- header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
- header("Access-Control-Max-Age: max-age=1");
- header("Content-Type: text/html; charset=utf-8");
- print_r($_SERVER);
復(fù)制代碼 跨域數(shù)據(jù)請求始終出錯, 可以看到HttpFox 請求中看到 錯誤NS_ERROR_DOM_BAD_URI , 網(wǎng)上查了一下都是說是跨域被瀏覽器當做錯誤阻止了,
我測試用的瀏覽器版本為
未命名.jpg (45.49 KB, 下載次數(shù): 21)
下載附件
2012-03-06 12:05 上傳
不只錯誤在哪里了
參考文獻地址 http://www.html5rocks.com/en/tutorials/cors/ |
-
未命名.jpg
(137.95 KB, 下載次數(shù): 18)
下載附件
2012-03-06 12:01 上傳
|