当前位置: 首页 > 知识库问答 >
问题:

为什么它不会成功地张贴我的数据,即使它在邮递员上工作?

闻人哲茂
2023-03-14

我已经用正确的键和值在邮递员上测试了我的endpoint,它工作得很好。 但是,当我尝试在浏览器上发出POST请求时--我得到一个500错误。

console.log(id);console.log(email);都在打印正确的值,因此我可以排除这不是问题所在。 我还尝试使用axios来发出POST请求,但它一直给我带来问题,所以我恢复到fetch。 我愿意接受任何关于改进代码的建议:)。

如何使我的post请求在浏览器上成功通过? 我可能忽略了什么

前端代码:

fileUpload(file) {
    const formData = new FormData()
    let id = Cookies.get("id");
    let email = Cookies.get("email");

    console.log(id);
    console.log(email);

    formData.append('file', file);

    this.setState({
        id: id,
        email: email,
        formData: formData
    });

    let data = {
        "id": this.state.id,
        "email" : this.state.email,
        "formData": this.state.fData
    }

    fetch('http://myendpoint/api/auth/wall-of-fame', {
        method: 'POST',
        body: data
    })
        .then(response => console.log(response))
        .catch(error => { console.error(error) });
}

后端代码:

public function store(Request $request){
    $filePath = $request->file('file')->getClientOriginalName();
    $id = Auth::user()->id;
    $email = Auth::user()->email;

    $data= [
        'file_path' => $filePath,
        'user_id' => $id,
        'email' => $email
    ];

    DB::table('my db')->insert($data);
    echo "Record inserted successfully.<br/>";
}

共有2个答案

曾皓
2023-03-14

在前端使用@wk24应答,在后端代码中使用AUTH来获取用户id,而不是$request,我认为您应该使用

$request->id;$email=$request->email;希望这样可以解决您的问题

凤修为
2023-03-14

当您使用表单数据上载文件时,最好向表单数据本身添加其他属性,如下所示,而不是创建数组

formData.append('file', file)
formData.set('id', id)
formData.set('email', email)

此外,在请求中,您可以将formData作为主体发送

fetch('http://myendpoint/api/auth/wall-of-fame', {
    method: 'POST',
    body: formData
})

这应该能解决你的问题。 让我知道

 类似资料:
  • 这是我的密码-------- 当我尝试对.post(/register…)路由进行邮递员测试时,它会暂停加载几分钟,然后给出错误-- “无法得到任何响应 连接到 http://localhost:5000/api/users/register 时出错。为什么会发生这种情况: 服务器无法发送响应:确保后端正常工作 自签名 SSL 证书被阻止:通过在“设置”中关闭“SSL 证书验证”来解决此问题 请求

  • 问题内容: Django文档说 在不支持SELECT … FOR UPDATE的后端(例如SQLite)上使用select_for_update()将无效。SELECT … FOR UPDATE将不会添加到查询中,并且如果在自动提交模式下使用select_for_update(),则会引发错误。 这让我震惊,这是一个奇怪且潜在危险的决定,尤其是因为它用于锁定行时。如果我编写使用的代码,那么我将依靠

  • 嗨,我有一个spring webflux应用程序。我想要一个API上传一个文件。我使用MultipartFile遵循Spring Webflux 415中的指令 写了这样的东西 但我仍然无法测试这一点,它失败了与以下错误在邮递员和swagger doesnt生成文件浏览按钮为这个API。

  • 我在Postman中添加了用户名和密码作为基本身份验证 那么,如果我输入了一些错误的用户名/密码或为空,为什么我没有得到401身份验证错误呢?

  • 我创建了一个简单的GUI,其中包括一个JTable。这张桌子可能被保存了 此时,保存函数按预期工作,当在保存目录中查找时,我可以看到表对象存储在文件中。 但是,当我尝试从文件加载表时,GUI从不显示加载的表。调用actionlistener函数,因为我有一个系统。输出“数据已加载”,但表格从不显示更新的数据。 我已尝试调用repaint(),但无效。如果有人能让我知道我可能做错了什么,我将不胜感激

  • 问题内容: 新手有问题,请保持温柔: 结果是: 我不明白为什么列表改变时,我只是在做,没有。我什至不知道要用什么搜索词来弄清楚。 问题答案: 这是因为在进行分配后,和都引用相同的列表。 尝试执行以下操作以查看它们是指相同的对象还是不同的对象: 一个例子: 如果您确实要创建这样的重复副本,而不是引用原始列表,而是引用列表的副本,请使用slice运算符: 一个例子: 另外,请勿将其用作变量名,因为最初

  • 这几天我在研究Android游戏开发。我遇到一个关于SurfaceView\SurfaceHolder的问题。当我读到android SDK22中View/SurfaceView.java的源代码时,我感到很困惑。代码如下: 我知道,mSurfaceHolder.getSurface()\LockCanvas非常重要,但是它返回NULL!所以,我认为这个mSurfaceHolder可能会被处理一些

  • 问题内容: 我一定会丢失一些东西,但是我已经看了几天了,但是到底为什么您会使用log4j2而不是log4j(而不是性能)? 从目前为止我所看到的,log4j2被宣传为更易于配置,但实际上却要复杂得多(现在已经三天了,我仍然无法在我的主目录中写日志)。自动配置对我根本不起作用(或者至少我无法使其工作),配置文件本身的结构实质上更复杂,在运行时添加东西以帮助诊断似乎更加困难。 因此,除了性能之外,还有