【问题标题】:How to use XMLHttpRequest() to store a JSON in a Laravel database?如何使用 XMLHttpRequest() 将 JSON 存储在 Laravel 数据库中?
【发布时间】:2021-10-16 20:28:53
【问题描述】:

我当前的错误是我似乎没有向我的控制器获取信息,Auth::user 似乎不起作用,是否有办法在控制器中打印信息?没有转储、dd、var_dump 等似乎向我展示了任何东西。

这是我刀片中脚本标签中的 JavaScript。 (取自 Surveyjs.io)

var survey = new Survey.Model(this.surveyJSON, surveyContainer);
                survey.onComplete.add(function (sender, options) {
                var xhr = new XMLHttpRequest();
                xhr.open("POST", "/api/survey");
                xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                xhr.send(JSON.stringify(sender.data));
                console.log(JSON.stringify(sender.data));

然后我在 web.php 中有我的 Route::post。我希望将我的数据发送到 CreateController 中的检索()。

Route::post('/api/survey', [\App\Http\Controllers\CreateController::class,'retrieval'])->name('survey-questions');

在我的 CreateController.php 中,我想用当前用户的 id 存储传入的 json。

Survey::create(['answers' => response()->json($request->all()), 'author_id' => Auth::user()]);

【问题讨论】:

  • “没有转储、dd、var_dump 等似乎向我展示了任何东西。” — 你在哪里寻找输出?
  • 我正在寻找 JSON 的信息以确认它已发送到控制器。但是,什么都不会打印。
  • 是的,但是在哪里你在寻找那个?
  • 在我从路由得到的请求中。因此,我在网上到处寻找正确的方法来从请求中提取信息。你问的是这个吗?
  • 我希望您说“在 PHP 日志文件中”或“在浏览器 UI 的某些特定部分”

标签: php json laravel post surveyjs


【解决方案1】:

想通了!

感谢昆汀,我找到了答案。我了解了有关 laravel.log 以及如何使用 Log::info($data) 在那里打印消息的更多信息。

我将 Auth::user() 更改为 Auth::user->id 并更改:

Survey::create(['answers' => response()->json($request->all()), 'author_id' => Auth::user()]);

Survey::create(['answers' => json_encode($data), 'author_id' => Auth::user()->id]);

感谢大家的cmets!

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 2021-06-10
    • 2016-10-14
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2021-02-28
    相关资源
    最近更新 更多