首页 > 解决方案 > 尝试用 axios 发送数据报错 404 not found laravel/vue

问题描述

我正在尝试使用 axios 将数据从 Vue.js 保存到 Laravel 控制器,但是当我尝试使用邮递员和控制台时,我得到了这个 404 not fund 错误。

在我尝试将 axios 路径更改为:

axios.post('storeInvoice' , {item: this.selectedItem , invoice_id:this.invoice_id}).then(response=>{
                    console.log(response);
                })

我得到了 405 Method not allowed web.php

Route::post('storeInvoice', [InvoiceController::class , 'storeInvoice']);

物品.vue

  axios.post('http://127.0.0.1:8000/storeInvoice' , {item: this.selectedItem , 
              invoice_id:this.invoice_id}).then(response=>{
                    console.log(response);
                })

发票控制器.php


    public function storeInvoice(Request $request){

      dd('added'); //just for testing purpose
    }

完整的 web.php

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CategoryController;
use App\Http\Controllers\CustomerController;
use App\Http\Controllers\ItemController;
use App\Http\Controllers\InvoiceController;
use App\Http\Controllers\CompanyDetailsController;


Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Auth::routes();

Route::get('/home', 'App\Http\Controllers\HomeController@index')->name('home')->middleware('auth');

Route::group(['middleware' => 'auth'], function () {

    Route::resource('categories', CategoryController::class);
    Route::resource('customers', CustomerController::class);
    Route::resource('items', ItemController::class);
    Route::resource('invoices', InvoiceController::class);

    Route::get('invoice/export', [InvoiceController::class , 'export'])->name('exportInvoice');
    Route::get('item/export', [ItemController::class ,'export'])->name('exportItem');
    Route::get('customers/export', [CustomerController::class ,'export'])->name('exportCustomer');

    Route::post('storeInvoice', [App\Http\Controllers\InvoiceController::class , 'storeInvoice']);
});

Route::group(['middleware' => 'auth'], function () {
    Route::resource('user', 'App\Http\Controllers\UserController', ['except' => ['show']]);
    Route::get('profile', ['as' => 'profile.edit', 'uses' => 'App\Http\Controllers\ProfileController@edit']);
    Route::put('profile', ['as' => 'profile.update', 'uses' => 'App\Http\Controllers\ProfileController@update']);
    Route::put('profile/password', ['as' => 'profile.password', 'uses' => 'App\Http\Controllers\ProfileController@password']);
});

标签: phplaravelvue.js

解决方案


推荐阅读