Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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
Php $u POST无法通过AJAX读取POST参数_Php_Html_Ajax - Fatal编程技术网

Php $u POST无法通过AJAX读取POST参数

Php $u POST无法通过AJAX读取POST参数,php,html,ajax,Php,Html,Ajax,我一直在尝试将数据发布到我的PHP脚本中,该脚本对POSTMAN非常有效,可以正确显示结果。但是在我的html项目中使用AJAX发送数据时,PHP脚本没有发送/接受数据,因此没有显示数据 可能的问题:JSON数据类型不适用于PHP脚本,因为$u POST['phone\u num']无法读取param HTML代码: 尝试: 尝试以{phone_num:12345678}的形式传递数据,但未工作 以下链接:,不适合我 结果:我知道这是可行的!!,但是没有电话号码,我通过AJAX传递了这段代码 观

我一直在尝试将数据发布到我的PHP脚本中,该脚本对POSTMAN非常有效,可以正确显示结果。但是在我的html项目中使用AJAX发送数据时,PHP脚本没有发送/接受数据,因此没有显示数据

可能的问题:JSON数据类型不适用于PHP脚本,因为$u POST['phone\u num']无法读取param

HTML代码:

尝试:

尝试以{phone_num:12345678}的形式传递数据,但未工作 以下链接:,不适合我 结果:我知道这是可行的!!,但是没有电话号码,我通过AJAX传递了这段代码

观察:有一个陷阱,如果我们用$\u POST['phone\u num']代替$\u GET['phone\u num'],那么邮递员也不会返回任何数据,除非这是有效的

截图:

邮递员: HTML页面: 请帮我找出哪里出了问题。那太好了。谢谢。

尝试使用$\u请求而不是$\u GET

我知道用它是站不住脚的。但即使是ReactJS,我也面临着同样的问题,我用这个解决了这个问题

xhttp.open("POST", "http://localhost:8888/project/my-script.php", true);
在上面的url中,您似乎正在发送post请求

$request_method = $_SERVER['REQUEST_METHOD'];
if ( $request_method == 'POST' ){
      echo "This is working!!";
      echo $_GET['phone_num'];
}else {
      echo json_encode('No defined function for this method');
}
如果您的php函数看起来是使用全局GET数组访问变量phone_num

改成post

$_POST['phone_num'];
用这个

echo$_POST['phone_num']

而不是

echo$_GET['phone_num']

这将起作用,请尝试获取包含文件内容的数据php://input'而不是使用$\u POST

我用你的代码试过了,效果很好

$value = file_get_contents('php://input');
$value = json_decode($value);
$phone = $value->{"phone_num"};
echo $phone;
我认为这是一个更好的方法

JS

PHP


不工作,尼基。邮递员工作得很好,但对于HTML,同样的输出也可以!!。小点$request\u method=$\u服务器['request\u method'];检查什么,工作是否正常。这不会有什么区别,对吧?你通过POST请求发送phone_num,在PHP中,你可以用$_POST[phone_num]而不是$_GET获取该变量,用$_GET你可以从urlNo读取变量,但不会修复它,但会浪费cpu周期和内存:echo$_POST['phone_num'];因为xhttp.openPOST,…我已经告诉过你,它对$u POST['phone\u num']不起作用,请看我问题中的问题,它在这里不起作用。我已经在我的问题中提到了我的捕获描述检查这个链接我已经为你写了这个@Alok@fahad在代码中使用JQuery,但不要加载它!所以这对他来说是行不通的,我们也不确定他是否应该使用JQueryit,因为他会把它联系起来。@fahad patel,你永远不知道这里;通过这个我得到了{phone:12345678},我不想要它,我只想获取phone的数据值。Thanksi编辑了解码JSONONONE问题的答案,为什么这在POSTMAN中不起作用?它没有显示任何输出,它现在在HTML上工作。我会记下你的答案,只是想问这个问题。@Alok我很久没有使用PHP了,我想这是JS端的格式化问题。使用基本xmlHttp真是一件痛苦的事。如果你使用它,你可能会有更好的运气。谢谢Nijeesh,你的回答帮助了我。非常感谢你。我希望人们能从你的回答中受益,如果你的回答能再次公开的话。哈哈哈!
$_POST['phone_num'];
$value = file_get_contents('php://input');
$value = json_decode($value);
$phone = $value->{"phone_num"};
echo $phone;
const response = fetch('http://localhost:8888/project/my-script.php', {
        method: 'POST', // *GET, POST, PUT, DELETE, etc.
        headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        },
        body: new URLSearchParams({phone_num: 12345678}).toString()
  });
 $request_method = $_SERVER['REQUEST_METHOD'];
    if ( $request_method == 'POST' ){
          echo "This is working!!";
          echo($_POST["phone_num"]);
    }else {
          echo json_encode('No defined function for this method');
    }