我还在使用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>
答案 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",
.....
希望这会有所帮助。