将Ajax调用到httpstatusready = 4不执行

将Ajax调用到httpstatusready = 4不执行

问题描述:

我正在使用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

一个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