使用JavaScript的Ajax请求以302(Found)响应

时间:2016-11-16 13:33:17

标签: javascript php ajax

我正在尝试使用Post方法通过Ajax发送数据,但答案给了我302 (Found),我不知道它是什么。这是我的代码:

function sendData(){

  if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
  } else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
  }

  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      console.log("Response" + xmlhttp.responseText);
    }
  }

  xmlhttp.open("POST", "request.php", true);
  xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlhttp.send("name="+document.getElementById('username').value);

}

我的.php文件只打印一条消息

<?php echo 'hello : ' . $_POST["name"] ?>

2 个答案:

答案 0 :(得分:0)

302 status code 表示您请求的资源已重定向到其他资源。如果这是一些身份验证的背后,或者需要一个会话处于活动状态然后是,那么会话超时负责调用ajax资源以重定向到可能的登录屏幕。

尝试使用jQuery请求,因为它更简单 - 在上面的评论中也推荐使用!

答案 1 :(得分:0)

获取此类消息的一种方法是,忘记在URL的末尾添加/,这是文档根目录的“子目录”。由于网址your.domain/whateveryour.domain/whatever/可能不一样。 (取决于服务器配置以及为这些URL提供服务的实际应用程序。)

我可以看到,在这种情况下,你实际上正在向/request.php发帖,所以这可能不适用,但为了以防万一,我会尝试“手动”发出请求,看看会发生什么。 / p>

有许多浏览器插件可以让您生成AJAX查询。