【发布时间】:2015-01-03 18:56:41
【问题描述】:
我在我的网站中使用了一个 jquery 插件。我想先验证一个表单,然后将另一个数据发送到控制器,但不通过表单。首先验证是已经返回成功反馈。但是当第二个被发送时,没有任何反馈返回。这是我的代码
route.php
Route::controller('designs', 'DesignsController');
DesignsController.php
public function postTest() {
$validator = Validator::make(Input::all(), Design::$rules);
if ($validator->passes()) {
$response = array(
'status' => 'success'
);
return Response::json( $response );
}
$response = array(
'status' => 'fail'
);
return Response::json( $response );
}
public function postSaveimage() {
//Save Image complete return $success=1
if($success)
$response = array(
'status' => 'save image success'
);
else
$response = array(
'status' => 'Fail'
);
return Response::json( $response );
}
jquery
$('#design_form').on( 'submit' ,function() {
//Validate First form data
$.post(
$( this ).prop( 'action' ),
{
"_token": $( this ).find( 'input[name=_token]' ).val(),
"category_id": $( '#form_category_id' ).val(),
"title": $( '#form_title' ).val(),
"user_id": $( '#form_user_id' ).val(),
},
function( data ) {
//if validate fail
if(data.status=='fail')
{
alert('data.status');
}
//if validate pass
else
{
//Sent second data
$.post("designs/saveimage",
{
"_token": $( this ).find( 'input[name=_token]' ).val(),
'base64_image': yourDesigner.getProductDataURL()
}, function(data) {
if(data) {
alert(JSON.stringify(data));
}
else {
alert('fail!');
}
});
}
},
'json'
);
return false;
});
【问题讨论】:
-
嗨,什么是 var_export( $_POST );在你的控制器代码中说。
-
尝试使用 Firebug 来查看 Ajax 响应。然后你就会知道第二次 POST 得到的实际回报是什么
-
它说 500 Internal Server Error "Illuminate\Session\TokenMismatchException" 猜我要创建新令牌对吗?
标签: php jquery ajax laravel laravel-4