Laravel 4.2 AJAX帖子给我404错误

时间:2015-08-05 20:10:01

标签: laravel laravel-4

我还在使用Laravel 4.2而且我试图用AJAX发布一个表单,但是它给了我一个帖子错误404。这是我的代码:

routes.php文件:

Route::post('/', array(
    'as' => 'postFora',
    'uses' => 'HomeController@postFora'
));

HomeController.php:

public function postFora() {

    $form = Input::all();
    $f = New Fora;
    $f->content = Input::get('contant');
    $f->user_id = Input::get('user_id');
    $f->save();

    return Response::json(array('success' => true)); 
}

main.js:

$('.dodaj-foro').submit(function(e) {
    var form = $(this);
    $.ajax({
        url : "http://localhost/belezka/",
        type: "POST",
        dataType: "JSON",
        data: form.serialize(),
        success: function (data) {
            alert('ok');
        }
    });
    e.preventDefault();
});

指数:

<form class="dodaj-foro" action="/" method="post" accept-charset="utf-8">
    <input type="hidden" name="user_id" value="{{$user[0]->id}}">
    <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
    <input type="text" name="contant" placeholder="Fora tuki">
</form>

2 个答案:

答案 0 :(得分:0)

如果您没有更改Laravel附带的默认值,请将public添加到AJAX请求URL。默认情况下,由于URL重写,路由'/'对应http://localhost/belezka/public/

答案 1 :(得分:0)

我认为您必须在路线文件中输入当前路线而不是http://localhost/belezka/

尝试替换:

$.ajax({
    url : "http://localhost/belezka/",
    type: "POST",
    dataType: "JSON",
    .....

通过:

 $.ajax({
    url : "postFora",
    type: "POST",
    dataType: "JSON",
    .....

希望这会有所帮助。