Laravel 5.4 ajax POST请求继续响应GET 405(方法不允许)

时间:2017-11-22 22:11:01

标签: javascript php jquery laravel-5 laravel-5.4

大家一直在努力解决这个问题,我正试图弄清楚这一点,但没有运气。

基本上我复制了另一个具有类似逻辑的工作项目,新的复制版本是唯一一个在ajax帖子上抛出这个405标题的版本。

控制台始终根据请求将我的POST转换为GET

GET http://app.local/en/pdf 405 (Method Not Allowed)

这就是我web.php的样子

Route::group(
    [
        'prefix' => LaravelLocalization::setLocale(),
        'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]
    ],
    function()
    {
        /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
        Route::get('/', 'MainController@home');
        Route::post('pdf/', 'MainController@constructPDFOutput');
    });

以及我的MainController看起来像什么

class MainController extends Controller
{
    public function home()
    {
        return view('home');
    }

    public function constructPDFOutput(Request $request)
    {
        dd($request);
    }
}

这是我的js ajax帖子看起来像

function getPDF() {
    $('#error-well').hide();
    var form = $('#generate-form');

    var data = {
        '_token': $('[name="_token"]').val(),
        'current_lang': USERLANG,
    }

    console.log(`Posting Data to server...`);
    console.log(data);

    $.ajax({
        dataType: 'native',
        type: "POST",
        url: form.attr('action'),
        data: data,
        xhrFields: {
            responseType: 'blob'
        },
        success: function (blob) {
            console.log("works!)
        },

        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus)
        }
    });
}

我的表格看起来像这样。

<form id="generate-form" method="POST" action="pdf">
    {{ csrf_field() }}
</form>

非常感谢任何帮助。

0 个答案:

没有答案
相关问题