簡體   English   中英

如何使用 jquery ajax 到達 laravel 路線

[英]How to get to a laravel route using jquery ajax

我正在嘗試使用 ajax 將方法放入 controller 中,但我一直找不到 404。

我的JS:

var dataroomForm = $('#dataroomForm');
var dataroomId = $('#dataroomId').val();
var saveButton = $('.saveDataroom');

saveButton.click(function(e) {
    var dataroomData = dataroomForm.serialize();
    e.preventDefault();
    console.log(dataroomData);

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    $.ajax({

        url: '/dataroom/' + dataroomId,
        type: 'PUT',
        data: {
            'dataroom': dataroomData
        },
        dataType: 'json',
        success: function (data) {
            console.log(data);
        },
        error: function (request, error) {
            alert("Request: " + JSON.stringify(request));
        }
    });

});

我試圖觸發的路線:

Route::put('dataroom/{dataroom}', ['as' => 'update', 'uses' => 'DataroomController@update']);

和更新方法(我認為不是很相關但發布完整視圖)

public function update(DataroomRequest $request, $id, MailService $mailService)
{
    $dataroom = Dataroom::withoutGlobalScope(ActiveScope::class)->find($id);
    if (is_null($dataroom)) {
        \Flash::error('Dataroom niet gevonden!');
        return redirect(route('admin.dataroom.index'));
    }

    $dataroom->fill($request->all());
    $dataroom->save();

    $dataroom->handleUploader($request, 'image');

    if ($request->has('send_update')) {
        $changes = $request->input('changes');

        foreach ($dataroom->accounts as $account) {
            $mailService->sendUpdate($account, $dataroom, $changes);
        }

        if (empty($changes)) {
            $changes = 'Dataroom gewijzigd';
        }

        $dataroom->log($changes);
    }

    \Flash::success('De wijzigingen voor <strong>' . $dataroom->title . '</strong> zijn opgeslagen');

    return redirect()->route('admin.dataroom.index');
}

在 my.network 選項卡中,我得到:

Request URL: http://website.nl.test/dataroom/26
Request Method: PUT
Status Code: 404 Not Found

作為響應: exception: "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException"

我究竟做錯了什么?

我在您的代碼中沒有發現任何問題嘗試在您的終端中使用命令php artisan optimize:clear in root folder 這將完全刷新/刪除應用程序緩存、路由緩存和配置緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM