NodeJS POST方法不适用于请求模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS POST方法不适用于请求模块相关的知识,希望对你有一定的参考价值。

我包括了require模块,并试图将数据发布到php文件中。

actions.php:

include 'connection.php';

$main=$db->prepare("SELECT * FROM site WHERE id=?");
$main->execute([1]); $site=$main->fetch();

$session=$db->prepare("SELECT * FROM users WHERE username=:u AND token=:t");
$session->execute([':u'=>$_SESSION['username'],':t'=>$_SESSION['token']]);
$count=$session->rowCount(); if($count==0) { echo "0:loggedout"; }
elseif($count>0) { $login=$session->fetch();

    if(isset($_GET['setonline'],$_POST['user'])) {

    $status=$db->prepare("UPDATE users SET status='1' WHERE id=:user");
    $update=$status->execute([':user'=>$_POST['user']]);

    }

        ###   ###   SET OFFLINE    ###   ###

    if(isset($_GET['setoffline'],$_POST['user'])) {

    $status=$db->prepare("UPDATE users SET status='0' WHERE id=:user");
    $update=$status->execute([':user'=>$_POST['user']]);

    }
}

代码:request.post('http://localhost/actions.php?setonline',{user});

无错误,并且没有任何作用。我有什么问题吗?

答案

[request.post('http://localhost/actions.php?setonline',{user})返回一个stream,并且您没有处理任何事件,这就是为什么您看不到任何输出的原因。

无论如何,您可能想要使用回调并获取缓冲的响应。

request.post('http://localhost/actions.php?setonline',{user}, (err, response, body) => {
   console.log(err, response, body);
});

以上是关于NodeJS POST方法不适用于请求模块的主要内容,如果未能解决你的问题,请参考以下文章

在 IIS7 URL 重写模块中,我可以在重定向规则中指定不适用于 http-post 请求吗?

Woocommerce API Post 方法不适用于通过 POSTMAN 的 HTTP 请求 - 获取无效签名

POST请求不适用于令牌验证检查

Nodejs 加密模块不适用于打字稿

Flutter dio不适用于flutter web中的post请求

适用于 urllib.request 但不适用于请求