【发布时间】:2015-02-03 05:26:35
【问题描述】:
我正在尝试使用 Laravel 中的 Ajax 从引导模式存储数据。这是我的代码:
route.php
Route::get('/repository/', 'RepositoryController@index');
Route::post('/repository/', 'RepositoryController@store');
现在
repository.index
@section('popups')
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<div class="row row-bg">
<div class="col-md-12">
<input type="text" class="text-field" style="width:100%; margin-bottom: 10px;" id="name" name="name" placeholder="URL name*: ">
{{$errors->first('name','<span class="error_message postShake"><i class="fa mr fa-exclamation-triangle"></i> Please enter the name</span>')}}
</div>
<div class="col-md-12">
<input type="text" class="text-field" style="width:100%; margin-bottom: 10px;" id="url" name="url" placeholder="Enter the URL*: ">
</div>
<div class="col-md-12">
<textarea class="text-field" style="width:100%; margin-bottom: 10px;" id="description" name="description" placeholder="Enter the URL*: "></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="whiteButton" data-dismiss="modal">Close</button>
<button type="button" id="add" name="add" class="blueButton">Save changes</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#add').click(function(e){
e.preventDefault();
var name=$(this).find('input[name=name]').val();
//post Ajax
$.post('/repository',
{
"name": $(this).find('input[name=name]').val(),
"url": $(this).find('input[name=url]').val(),
"description": $(this).find('input[name=description]').val()
}, function(data){
// console.log(data);
}, 'json');
});
});
</script>
@stop
而在RepositoryController.php
<?php
class RepositoryController extends BaseController{
public function index(){
return View::make('repository.index');
}
public function store(){
$validation=Validator::make(Input::all(), Link::$rules);
if($validation->fails()){
return Redirect::back()->withInput()->withErrors($validation->messages());
}
$link = new Link;
$link->name=Input::get('name');
$link->url=Input::get('url');
$link->description=Input::get('description');
$link->save();
return Redirect::route('repository.index');
}
}
Link.php型号
<?php
class Link extends Eloquent{
public static $rule= ['name'=>'reuiqred',
'url'=>'required',
'description'=>'required'];
}
在控制台中,它给了我一个错误:Failed to load resource: the server responded with a status of 500 (Internal Server Error)
可能是什么问题?此外,验证错误消息也不会出现在模式上。
【问题讨论】:
-
ajax 和重定向在一起没有任何意义。
-
我怎样才能使这段代码工作?我在 Laravel 中学习 Ajax
-
而不是重定向,你应该使用
Response::json()
标签: jquery ajax laravel laravel-4 modal-dialog