Php 能够使用$\u GET而不是$\u POST接收数据

Php 能够使用$\u GET而不是$\u POST接收数据,php,ajax,post,get,Php,Ajax,Post,Get,使用Ajax与服务器通信 我试图使用AJAX将一个值传递给dat.php,并从dat.php获取另一个值。当我使用GET时,下面的代码可以正常工作,但不能与POST一起工作。我需要使用POST,因为这是我试图传递的敏感信息。你知道这是怎么回事吗 这是我在test.php上的代码 <html> <body> <form action="<?php echo $_SERVER['$PHP_SELF'];?>" method="post"> <

使用Ajax与服务器通信

我试图使用AJAX将一个值传递给dat.php,并从dat.php获取另一个值。当我使用GET时,下面的代码可以正常工作,但不能与POST一起工作。我需要使用POST,因为这是我试图传递的敏感信息。你知道这是怎么回事吗

这是我在test.php上的代码

<html>
<body>

<form action="<?php echo $_SERVER['$PHP_SELF'];?>" method="post">

<input type="text" name="value" onchange="ch_email1(this.value)"></input>

</form>



<script>
function ch_email1(str){
    var ajaxRequest;    
    try{
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        try{
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
        try{
        ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e){
        // Something went wrong
                var xl=xmlhttp.responseText
        alert("Something Went wrong");
        return false;
            }
        }
    }
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            var xl=ajaxRequest.responseText;
alert (xl);


        }
    }
    ajaxRequest.open("POST","dat.php?q="+str, true);
    ajaxRequest.send(null); 
}


</script> 
</body>
</html>


请注意,当我用GET替换POST时,上面的代码可以正常工作。你知道为什么会这样吗

看看这一页。


现在,你正在发送一个没有任何内容的post请求。添加到url只会更改$\u GET变量

看看这一页。

现在,你正在发送一个没有任何内容的post请求。添加到url只会更改$\u GET变量

这可能会有帮助:

 ajaxRequest.open("POST","dat.php", true);
 ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajaxRequest.send("q="+str);
这可能有助于:

 ajaxRequest.open("POST","dat.php", true);
 ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 ajaxRequest.send("q="+str);

您将
POST
Ajax调用与
GET
方式混合使用

使用POST发送AJAX调用时,不必在URL上放置参数,但必须使用
.send()
方法发送参数

例如:

ajaxRequest.open("POST","dat.php",true);
ajaxRequest.send("q=" + str);

你应该使用一个JS库,比如jQuery或其他,这将为你带来好处,而不是重新发明轮子,并有一些常见的问题。

你将
POST
Ajax调用与
GET
方式混合在一起

使用POST发送AJAX调用时,不必在URL上放置参数,但必须使用
.send()
方法发送参数

例如:

ajaxRequest.open("POST","dat.php",true);
ajaxRequest.send("q=" + str);

您应该使用jQuery或其他适合您的JS库,而不是重新发明轮子和常见问题。

如果jQuery是一个选项,我建议您使用它。这使得ajax调用变得更加简单。当您使用post时,您不能将数据作为querystring发送。好的,您不会在请求正文中发送任何post数据……请注意,post不会保护敏感数据。如果jQuery是一个选项,我建议您使用它。这使得ajax调用变得更加简单。当您使用post时,您不能将数据作为querystring发送。好的,您不会在请求正文中发送任何post数据……请注意,post不会保护敏感数据。您可能还想使用HTTPS(SSL)。谢谢,伙计。。。。明白了:)谢谢你,伙计。。。。明白了:)