Laravel 4:通过控制器操作ajax数据
Laravel 4: manipulating ajax data through controller
我是Laravel和ajax的新手。我试图通过ajax从表单中获取数据,并通过相同的ajax调用控制器中的方法。控制器中的方法搜索数据库,然后返回一个由ajax处理的json响应(最后一部分我还在考虑,我还没有真正完成)。让我给你看看我现在有什么:
Routes.hp:
Route::get('/', 'HomeController@getIndex');
Route::post('/', 'HomeController@postIndex');
家庭控制器:
public function getIndex()
{
return View::make('index');
}
public function postIndex()
{
$match = Input::get('search');
$results = Customers::where('name', 'like', '%'.$match.'%')->get();
return Response::json(array('results' => $results));
}
和我的index.blade.php视图:
<script>
$(document).ready(function() {
$('form#find').submit(function() {
$.ajax({
url : 'CustomerSearch/Public',
type: 'post',
dataType: 'json',
data: $('form#find').serialize(),
});
return false;
});
});
形式:
{{ Form::open(array('url' => '', 'method' => 'POST', 'id' => 'find')) }}
{{ Form::text('search', '', array('class' => 'search-query', 'placeholder' => 'Search')) }}
{{ Form::submit('Submit', array('class' => 'btn btn-info')) }}
{{ Form::close() }}
所以我应该从表单中获取数据,然后将其发送到控制器中的"postindex"方法,以便对其进行处理,然后发送回,对吧?除了当我实际上没有调用任何索引方法时,我得到了错误"Controller method[index]not found",因为它们的名称不同。我是新手,如果不清楚的话,很抱歉。
更新:正如我在评论中所说,我发现将路由合并为一个路由::controller解决了我以前的问题,但不幸的是,我仍然无法使用ajax将数据发送到我的控制器。我没有得到任何错误,但是ajax没有向控制器加载任何内容。知道我的ajax可能出了什么问题吗?:
$(document).ready(function() {
$('form#find').submit(function() {
$.ajax({
url : '{{URL::to('/')}}',
type: "POST",
dataType: 'json',
data: { search: $('.search-query').val() },
success: function(info){
console.log(info);
}
});
return false;
});
});
只需在控制器中使用:
return json_encode(array('key' => 'val'));
对于数据的输入,我使用了一个对我来说很好的JQuery插件。这就是一个函数的样子:
function someName(){
// A plugin is used for this function
$('#form_id').ajaxForm({
url: '/',
type: 'post',
dataType: 'json',
success: function(response){
alert(response.key);
}
});
}
以及相应的形式:
<form id="form_id">
<!-- Put your fields here -->
<input type="submit" onclick="someName()">
</form>
我建议你使用这种方法,它可能取决于插件,但是最简单的。当然,您可以使用.submit()
语句,而不是将其绑定到onclick事件
相关文章:
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- 当通过AJAX调用时,控制器操作不会执行
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- HTML class=Ajax操作,如何让类点击调用好的操作
- 在成功时操作 AJAX 函数
- 以非ajax方式将js对象传递给mvc操作
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- Ajax xml源解析依赖于jQuery的点击操作
- 表单在由ajax部分Ruby创建时有错误的操作
- 我如何从javascript文件中AJAX发布到MVC操作
- 为主题选项(部分)创建一个ajax处理的保存操作
- 从填充了 AJAX 的下拉列表中获取控制器的操作方法中的值
- 在 AJAX 调用的 zend 控制器操作中正确设置会话
- Ajax 提交表单有时有效,有时直接重定向到操作网址
- 如何使用 Ajax 以 html 格式呈现没有布局的 Rails 操作
- Laravel 4:通过控制器操作ajax数据
- 操作 ajax 响应
- 以HTML格式操作AJAX响应
- 操作AJAX填充的下拉列表