Laravel Homestead Development:AJAX POST请求因未知原因而被重定向

时间:2017-02-05 11:00:04

标签: ajax laravel redirect post homestead

我在Laravel 5.3上,我正在处理一个表格,我提交给服务器。我想在开始时指出的是,我已经在这个表格上工作了几天,没有任何问题。昨天我在我的控制器的商店方法工作,突然之间表格将不再提交。

开场表格:

{!! Form::model($addon = new \App\Addon, ['name' => 'FinalForm', 'route' => 'addons.store', 'enctype' => 'multipart/form-data']) !!}

我的路线:

Route::resource('addons', 'AddonController');

php artisan route:list:

  

方法:POST

     

URI:插件

     

名称:addons.store

     

操作:App \ Http \ Controllers \ AddonController @ store

中间件:web,auth

所以现在发生的是,表单被发布,但由于某种原因,被重定向。铬就是这样说的:

POST request to /addons

And after that, for some reason, GET request to /addons/

正如您所看到的,我收到了403 Forbidden回复。为什么请求被删除/ addons / ??

正如我之前所说,我改变了NOTHING,当弹出时,我正在使用控制器上存储方法的内部逻辑。我甚至重新启动了宅基地(以及我的整个机器),我不知道是什么导致它。

EDIT(控制器):

/**
 * Store the addon.
 *
 * @return Response
 **/
 public function store(CreateAddonRequest $request, ImageHandler $imageHandler)
{   
    $input = $request->only('title', 'body', 'author', 'slogan', 'version', 'revision', 'published_at', '_img_data');
    $session = $request->session()->all();

    $slug = SlugService::createSlug(Addon::class, 'title', $input['title'], ['unique' => true]);
    $imageHandler->move($slug, $input['body'], 'description');
    $body = $imageHandler->body;

    $addon = Auth::user()->addons()->create([
        'body'          => $body,
        'title'         => $input['title'],
        'slogan'        => $input['slogan'],
        'author'        => $input['author'],
        'locales'       => $session['locales'],
        'published_at'  => $input['published_at']
        ]);
    $addon->categories()->attach($request->input('categories'));

    Storage::makeDirectory('addons/' . $slug . '/files/');
    $extension = Dir::extension('temp/' . $session['file_name']);

    if ($input['revision'] != "") {
        $file = $addon->slug . '-v' . $input['version'] . '-r' . $input['revision'] . '.' . $extension;
    } else {
        $file = $addon->slug . '-v' . $input['version'] . '.' . $extension;
    }

    Storage::disk('local')->move('temp/' . $session['file_name'], 'public/addons/' . $addon->slug . '/files/' . $file);

    // With 5.4 we don't need that check anymore
    if ($input['revision'] == "") {
        $input['revision'] = null;
    }

    $addon->files()->create([
        'file_name'     => $file,
        'hash'          => $session['hash'],
        'version'       => $input['version'],
        'revision'      => $input['revision'],
        'game_version'  => $session['interface'],
        'virustotal'    => $session['virustotal']
    ]);

    dd('done');

    // if ($request->hasFile('images'))
    // {
    //  Storage::makeDirectory('addons/' . $slug . '/images/');

    //  foreach ($request->file('images') as $image)
    //  {
    //      $imageName = uniqid() . '.' . $image->getClientOriginalExtension();
    //      //$image->storeAs('addons/' . $slug . '/images/', $imageName);
    //      $addon->images()->create(array('image_name' => $imageName));
    //  }

    // }

    // flash('The addon has been uploaded.');

    // return redirect('addons');

    dd('done');

    return response()->json([
            'success' => true,
            'message' => 'Images checked',
        ]);
}

0 个答案:

没有答案