Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我不能在ajax中使用POST方法获取参数吗?_Javascript_Php_Ajax - Fatal编程技术网

Javascript 为什么可以';我不能在ajax中使用POST方法获取参数吗?

Javascript 为什么可以';我不能在ajax中使用POST方法获取参数吗?,javascript,php,ajax,Javascript,Php,Ajax,下面是我尝试使用ajax的内容: var x=""; var xxx= setTimeout(myFunc, 7000); function myFunc(){ x=document.forms["form1"]["image"].value; if(x!=""){ var xhttp= new XMLHttpRequest(); xhttp.onreadystatechange=function(){ if(xhttp.readyState==4 &am

下面是我尝试使用ajax的内容:

var x="";
var xxx= setTimeout(myFunc, 7000);
function myFunc(){
    x=document.forms["form1"]["image"].value;
    if(x!=""){
    var xhttp= new XMLHttpRequest();
    xhttp.onreadystatechange=function(){
    if(xhttp.readyState==4 && xhttp.status==200){
        var z= xhttp.responseText;
        alert(z);
        }
    };
       xhttp.open("POST", "test.php", true);
       xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
       xhttp.send("url="+x);
    }
}
下面是test.php:

<?php
$a= $_POST["url"];
echo $a;
?>


但是警报(z)显示一些HTML文档,而不是URL。我做错了什么?如何更正它并从ajax获取参数?

将以下更正放在js部件和
test.php
文件中:

  • js部分:

    ...
    var params = "url="+ encodeURIComponenet(x);
    xhttp.open("POST", "test.php", true);
    xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhttp.setRequestHeader("Content-length", params.length);
    xhttp.send(params);
    
  • test.php

    <?php
        if (isset($_POST["url"]) && !empty($_POST["url"])) {
            $a = $_POST["url"];
            echo $a;
        }
    
    ?>
    
    
    

您得到的“一些HTML文档”是什么?它具体显示了什么?也许这是一条html格式的错误消息……顺便说一句,我建议您使用Javascript库来克服Ajax浏览器特有的问题。类似jQuery或dojo的东西。是的,这是一条错误消息。我试着把它通读一遍。我在test.php中写了一些错误,我没有在这里详细发布。