【问题标题】:Vue-Laravel 500 (Internal Server Error) while posting发布时 Vue-Laravel 500(内部服务器错误)
【发布时间】:2018-10-16 05:44:45
【问题描述】:

我正在尝试使用 Vue 和 Laravel 创建一个简单的 CRUD。我在web.php有一条路线:

Route::resource('phonebook','PhonebookController');

Add.vue 文件中,我使用axios 发送POST 请求:

saveData(){
  console.log(this.$data.list);
  axios.post(`phonebook`,this.$data.list)
    .then((response)=> {
      this.close()
    })
    .catch((error) => this.errors = error.response.data.errors)
}

我已经测试了这是否适用于GET 方法而没有任何错误。但是在发布时,它显示:

app.js:1002 POST http://localhost:8000/phonebook 500(内部服务器错误)

谁能在这方面帮助我?

【问题讨论】:

  • 您的控制器中有store 方法吗?
  • 是的,我有。我用过资源控制器。但主要问题是, axios.post() 没有击中控制器。我在控制器中使用了 dd() 来检查这一点。
  • 当您尝试使用get 时,我假设您使用了axios.get() 并点击了您的创建方法?
  • 是的。 get() 工作正常。
  • 我只是在这里猜测,但如果 js 不在基本 url 上,则需要在 axios URI 中添加 /,即 /phonebook。如果它位于具有不同 URI(例如 /phonebook)的页面上,它将使 URI /phonebook/phonebook

标签: php post laravel-5 vue.js axios


【解决方案1】:

您可以按照此 Chrome Inspect>>> 网络 >>> 点击红色链接 >>> 现在检查响应来检查该错误,您将在那里遇到实际问题。

如果问题/错误是“目标类控制器不存在”,这是来自 laravel 的错误,因为它不再支持传统的路由声明,因此您可以使用:

 use App\Http\Controllers\PhonebookController;

 Route::get('/users', [PhonebookController::class, 'index']);
 // or
 Route::get('/users', 'App\Http\Controllers\PhonebookController@index');

【讨论】:

    猜你喜欢
    • 2021-01-14
    • 1970-01-01
    • 2019-01-24
    • 2020-05-09
    • 2018-01-24
    • 1970-01-01
    • 2020-10-26
    • 2014-10-25
    • 2015-08-12
    相关资源
    最近更新 更多