【发布时间】:2014-06-03 05:38:25
【问题描述】:
在学习 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 是否正确?您的控制台中会显示什么响应?
-
一个空数组。 url 应该是正确的,因为脚本正在从控制器获得响应。
-
是否启用了
CSRF?您是否将CSRF token放入表单并与其他数据一起提交?如果没有,请尝试将 CSRF 令牌添加到您的data。 -
不,我想我之前尝试过这样做,但没有成功。
标签: php jquery ajax laravel laravel-4