2013-04-25 40 views
0

我正在使用ajax - 工作正常 - 傳遞該值。但是當我添加HTTP代碼時,沒有任何操作。使用簡單的HTTP根據http.readystatus顯示不同的div值。這是正確的格式嗎?如果不是,那是什麼?將Ajax調用到httpstatusready = 4不執行

if (colorToCheck == gup("Player1")) { 
    document.getElementById('win').innerHTML = player1 + " wins"; 
    redScore += 1; 

    //Browser Support Code 
    var xmlhttp; 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    if (xmlhttp.readyState == 3 && xmlhttp.status == 200) { 
     document.getElementById("save").innerHTML = "saving"; 
    } else if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     //ajax call 
     var dataString = 'winner=' + player1 + '&player1=' + player1 + '&player2=' + player2 + '&matchNum=' + matchNum; 
     $.ajax({ 
      type: "POST", 
      url: "red.php", 
      data:dataString, 
      cache: false, 
      success: function(response) { 
       $('.result13').html(response);  
      } 
     }); 
    } 
} 

任何幫助將不勝感激!提前致謝。

+2

爲什麼你混合調用Ajax的兩種方式?你確定這個狀態是200嗎? – epascarello 2013-04-25 14:05:19

+0

@epascarello亞該頁面是好的..我仍然沒有抓住ajax井..在這裏,我是新的..感謝replyin..And什麼可以是一個更好的格式??我的http必須工作在Ajax功能請致電 – user2234992 2013-04-25 14:07:57

+0

@epascarello SO我可以把這個HTTP狀態調用裏面的ajax成功函數.. – user2234992 2013-04-25 14:12:16

回答

2

一個Vanilla JS AJAX調用的結構是:

var xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET","path/to/file.php"); // or "POST" if needed 
xmlhttp.onreadystatechange = function() { 
    if(this.readyState == 3) document.getElementById('save').innerHTML = "saving"; 
    if(this.readyState == 4) { 
     if(this.status != 200) alert("ERROR: Server returned "+this.status+" "+this.statusText); 
     else { 
      // do something 
      alert(this.responseText); 
     } 
    } 
}; 
xmlhttp.send(data); // data is whatever POST data you want. Leave out if using GET. 
+1

Vanilla JS非常流行,它預裝了。即使jQuery使用它。 ;) – 2013-04-25 14:26:52

+0

在那裏,我把'data'放在最後一行上面的代碼中。 – 2013-04-25 14:28:56

+0

對不起,我不喜歡用你的開銷開玩笑......「Vanilla JS」只是一個術語,用來表示普通的普通JavaScript,沒有任何框架,比如jQuery或Underscore或其他任何框架。我鏈接的網站是一個玩笑,假裝Vanilla JS是某種擴展,它已經在你的瀏覽器中很神奇了,然後繼續演示使用JavaScript的速度比任何框架都快。 – 2013-04-25 14:30:41