在学习Laravel 4的过程中,如果我的问题听起来很傻,请原谅我。
我正在尝试使用$ .ajax将表单数据发布到控制器。
检查控制器后,Input :: all()完全不会填充数据。
检查表单是否已在jquery代码中序列化。
所以现在我在这里寻求帮助,看看是否有人知道如何解决此问题。
以下是到目前为止我编写的代码。
jQuery代码
<script>
$(document).ready(function(){
var BASE = "<?php echo Request::root(); ?>/signup/add";
$('#password').on('blur', function() {
var info = $('.info');
$.ajax({
url:BASE,
method:'post',
contentType:'application/json; charset=utf-8',
cache:false,
dataType:'json',
data: $("#membersignup").serialize(),
success:function(data){
console.log(data);
},
error:function(xhr,status,error){
//errors here
}
});
});
});
</script>
route.php
Route::post('signup/add', array('uses'=>'MemberController@store'));
MemberController.php
public function store()
{
return Response::json(Input::all());
}
最佳答案
而不是使用以下方法创建url
:
var BASE = "<?php echo Request::root(); ?>/signup/add";
使用这样的命名路由:
Route::post('signup/add', array('uses' => 'MemberController@store', 'as' => 'signup.add'));
因此,使用以下方法为您生成
url
请求的ajax
会更容易:var BASE = "<?php echo route('signup.add'); ?>
如果您仍在生成正确的
url
,这可能无法解决您的问题,但是可以肯定地生成正确的url
。我怀疑您是否没有将请求发送到正确的url
,但不确定。