为什么$ .post()工作但不工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么$ .post()工作但不工作相关的知识,希望对你有一定的参考价值。

我只是想将我的ajax代码转换为fetch但是fetch只是似乎不起作用。

  1. 这是为什么?
  2. 我该如何解决?
  3. 如果需要,我可以提供更多信息。

这是我的js代码:

fetch("login.php", {
method: "POST",
body: JSON.stringify(data),
headers: {
    "Content-Type": "application/json"
},
}).then(response => 
{
    response.clone().text().then(resp => 
    {
        console.log(resp);
        if(resp.trim()=="ok")
        {
            window.location = "tab.html";
        }
    })
});
//ajax code underneath that's the same but works
$.post("login.php", {username: $("#user").val(), password: $("#password").val()}).done(function(response)
{
    console.log(response);
    if(response.trim()=="ok")
    {
        window.location = "tab.html";
    }
});
答案

以为我可以回答这个问题。花了一段时间才弄明白,但到了最后。只需使用表单数据方法,如下所示:

let data = new FormData;
data.append("user", $("#user").val());
data.append("password", $("#password").val());
fetch("login.php", {
    method: "POST",
    body: data,
}).then(response => 
{
    response.text().then(text => 
    {
        console.log(text); 
        if(text.trim() == "ok")
        {
            window.location = "tab.html";
        }
    })
});`

以上是关于为什么$ .post()工作但不工作的主要内容,如果未能解决你的问题,请参考以下文章

将数据从活动发送到片段android工作室[重复]

从底部工作表对话框片段中获取价值

json 可视代码工作室Angular with Firebase片段

哈斯克尔。我很困惑这个代码片段是如何工作的

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

警报代码有问题,需要用户输入和后台计时器。定时器工作,但不停止程序