在laravel
更新表单中控制器的代码为:
public function edit(){
$inputValue = [
'id' => Input::get('id'),
'name' => Input::get('name'),
'parent_id' => Input::get('parent_id'),
'color' => Input::get('color'),
'description' => Input::get('notes')
];
$validator = \Validator::make( $inputValue, \Resource::getEditFolderRules() );
// Validate the input and return correct response
if ($validator->fails()){
return Response::json([
'success' => false,
'errors' => $validator->getMessageBag()->toArray()
]);
}
$resource = $this->repo->updateFolderBasicDetail($inputValue);
return Response::json([
'success' => true,
'url' => \URL::route('folder-detail', $inputValue['id'])
]);
}
和js是:
<script type="text/javascript">
$(function(){
$("#edit-folder").on('submit', function(e){
e.preventDefault();
if($("#edit-folder").valid() == true){
var description = CKEDITOR.instances.edit_folder_ckeditor1.getData();
$('#notes').val(description);
$.ajax({
url: "{{ URL::to('folder/edit') }}",
type: "POST",
data: $( this ).serialize(),
dataType: "json",
success:function(data) {
var errorString = '<ul class="msg msg_unsuccess">';
var success = 'Folder is updated.';
errorString += '<li>' + success + '</li>';
errorString += '</ul>';
$('#sucessmsg').html(errorString).delay(3000).fadeOut();
$('.modal-content').delay(3000).fadeOut();
$('.fade').delay(3000).fadeOut();
},
error:function(data) {
var errorString = '<ul class="msg msg_success">';
var error = 'Folder is not updated.';
errorString += '<li>' + error + '</li>';
errorString += '</ul>';
$('#sucessmsg').html(errorString).delay(3000).fadeOut();
$('.modal-content').delay(3000).fadeOut();
$('.fade').delay(3000).fadeOut();
setTimeout(function(){location.reload();},3000);
}
});
}
});
});
</script>
但是当我更新文件夹时,它正在更新,并且消息显示在error:function
。
不明白我错在哪里请帮帮我。
答案 0 :(得分:0)
我在Laravel 5.2中使用AJAX与路由,创建变量url和变量令牌(如果需要),在php文件中的视图,包含脚本之前
<script>
var token = '{{ Session::token()}}';
var url = '{{ route('select_cafe') }}';
</script>
<script src="{{asset('/script/select_cafe.js')}}" ></script>