echo $ _POST [valuename]未被阅读

时间:2017-10-11 21:33:09

标签: javascript php ajax post

我是ajax的新手,我在使用它时遇到了一些麻烦。

代码应该从javascript向PHP发送2个变量。然后用串回声回复它。但我只是从PHP获取通用文本,但变量应该是空的。

我的javascript

function ok_press() {
    var tjeck_login = new XMLHttpRequest ();
    users_name = 'jon'; 
    users_password = 'password';
    users_infor = "usersname="+users_name+"&userspassword="+users_password;
    tjeck_login.open ("POST", "php/test.php",true);
    tjeck_login.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
    tjeck_login.onreadystatechange = function () {
      if (tjeck_login.readyState == 4 ){            

        if (tjeck_login.status >= 200 && tjeck_login.status <300 || tjeck_login.status == 304){
          var output = tjeck_login.responseText;
          alert(users_infor);
          alert(output);
        }
      }
    }

    tjeck_login.send(users_infor);
}

我的PHP代码是

<?php

echo 'Hello ' . $_POST['usersname'] . ' your passeword is ' . $_POST['userspassword'];

?>

但它吐出来的只是 &#34;你好你的passeword是&#34;但它应该说的是#34;你好,你的密码是密码。

1 个答案:

答案 0 :(得分:-2)

如果您在PHP中使用引号创建字符串,则不能在变量数组中使用引号。

改变这个:

echo 'Hello ' . $_POST['usersname'] . ' your passeword is ' . $_POST['userspassword'];

对此:

echo "Hello {$_POST['usersname']} your passeword is {$_POST['userspassword']}";