Javascript AJAX POST方法不将值发布到提交的页面

时间:2014-04-09 19:06:17

标签: javascript php jquery ajax

我正在使用Javascript AJAX发送请求php页面并从php页面接收输出。当我在AJAX中使用GET方法时,它的工作原理。但是当我使用POST方法时,同样不起作用。

这是我的代码:

<script>
function verifyMobile(mobileNo,code,emailKey)
{
    alert(mobileNo+'-'+code+'-'+emailKey); //alerts proper value here...
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
        xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {

alert(xmlhttp.responseText); //alerts empty value here...

          }
    xmlhttp.open("POST","verification.php",true);
    xmlhttp.send("mobileNo="+mobileNo+"&code="+code+"&emailKey="+emailKey);
}
</script>

verification.php

<?php
$mobile_number=trim($_POST['mobileNo']);
$sms_code=trim($_POST['code']);
$email_key=trim($_POST['emailKey']);
echo $mobile_number." - ".$sms_code." - ".$email_key;
?>

1 个答案:

答案 0 :(得分:1)

尝试设置标题,看看是否有帮助。

var params = "mobileNo="+encodeURIComponent(mobileNo)+"&code="+encodeURIComponent(code)+"&emailKey="+encodeURIComponent(emailKey);
xmlhttp.open("POST","verification.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);