您好,我正在使用laravel 4和霓虹灯bootsrap主题的网页,我不能使ajax注册工作,请帮助。
neonRegister.setPercentage(98, function()
{
//if i console log here i get the log/
var username = $("input#username").val();
var password = $("input#password").val();
var email = $("input#email").val();
var token = $('input[name="_token"]');
var dataString = 'username='+ username + '&_token=' + token +'&email=' + email + '&password=' + password ;
// Send data to the server
$.ajax({
url: baseurl + 'registro',
method: 'POST',
data: dataString,
error: function()
{
alert("An error occoured!");
},
//I never get the success alert or the error alert
success: function(data)
{
if(data.status == 'success'){
alert("Thank you for subscribing!");
}else if(data.status == 'error'){
alert("Error on query!");
}
// Form is fully completed, we update the percentage
neonRegister.setPercentage(100);
// We will give some time for the animation to finish, then execute the following procedures
setTimeout(function()
{
// Hide the description title
$(".login-page .login-header .description").slideUp();
// Hide the register form (steps)
neonRegister.$steps.slideUp('normal', function()
{
// Remove loging-in state
$(".login-page").removeClass('logging-in');
// Now we show the success message
$(".form-register-success").slideDown('normal');
// You can use the data returned from response variable
});
}, 1000);
}这是它使用的javascript,我在setPercentage(89)上得到了一个控制台日志,但接下来的成功或错误警报不起作用。你认为错误出在ajax上,但我不知道为什么。
这是我的控制器函数:
public function store()
{
$user = new User;
$user->username = Input::get( 'username' );
$user->email = Input::get( 'email' );
$user->password = Input::get( 'password' );
// Save if valid. Password field will be hashed before save
$user->save();
if ( $user->id )
{
$response_array['status'] = Lang::get('confide::confide.alerts.account_created') . ' ' . Lang::get('confide::confide.alerts.instructions_sent');
// Redirect with success message, You may replace "Lang::get(..." for your custom message.
echo json_encode($response_array);
}
else
{
// Get validation errors (see Ardent package)
$response_array['status'] = $user->errors()->all(':message');
echo json_encode($response_array);
}
}我正在使用zizaco/Confide进行身份验证
发布于 2014-04-29 11:21:45
好的,问题是它是虚拟的东西:
在:
var token = $('input[name="_token"]');更改为:
var token = $('input[name="_token"]').val();它没有得到输入的值,所以csrf没有通过。
另请更改:
baseurl + 'registro'适用于:
baseurl + '/registro'https://stackoverflow.com/questions/23354424
复制相似问题