laravel 4中没有ajax响应
No ajax response in laravel 4
我从名为category
的用户处获取输入。在每一个关键上,我想执行一个ajax请求来搜索如果类别与类似的名称存在与否。如果是,那么在输入的下面有一个空白的div,我想用类似的名称类别填充。
所以我创建了一个表单。使用ajax通过jquery,但我没有收到响应。
这是我使用的jquery ajax代码
$("#category").keyup(function () {
$.ajax({
url: "categories/categoryajaxrequest",
type: "get",
data: {
category: $("#category").val()
},
success: function (response) {
$("#category_suggestion").html(response);
}
});
});
这是在ajax请求
中用作url的路由部分。Route::get('categories/categoryajaxrequest', array('as' =>'categoryajaxrequest', 'uses' =>'CategoryController@categoryAjaxRequest'));
这是控制器部分
//app/controllers/CategoryController.php
....
public function categoryAjaxRequest(){
echo "working";
}
因此,输入文本的id为"category",在输入文本的下面,有一个id为"category_suggestion"的div。在输入上的每次按键,我希望它执行一个ajax请求,并在div中显示"成功"。但是它什么也没做。
但是,如果我在浏览器上直接进入"/categories/categoryajaxrequest",它会输出"working"。
尝试将动作直接放在$.ajax()
方法的url:
属性中,然后不需要路由:
Laravel给了我们这样做的自由。花括号{{
}}
在视图中使用。因为JavaScript的东西通常是在视图中调用的,所以这样做是合法的。
URL::action
部分在文档中描述如下:
要生成一个指向控制器动作的URL,可以使用URL::action方法或操作帮助器方法:
$url = URL::action('FooController@method'); $url = action('FooController@method');
所以模板系统的组合&URL::action
给了我们这样做的可能性:
$("#category").keyup(function () {
$.ajax({
url: "{{URL::action('CategoryController@categoryAjaxRequest')}}",
type: "get",
data: {
category: $("#category").val()
},
success: function (response) {
$("#category_suggestion").html(response);
}
});
});
相关文章:
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- Ajax响应转换
- 如何在数据表中设置从Ajax响应选中的复选框
- 在Javascript中的ajax响应之后未调用Dropdown事件
- RubyonRails-Ajax响应的问题
- Ajax:Ajax响应中的链接不起作用
- 如何执行ajax响应返回的javascript函数
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- 正在检查ajax响应中的错误数据
- 如何从ajax响应中重新加载整个页面
- 如何使用jQuery/Ajax响应特定的提交按钮
- 是浏览器在AJAX响应中自动处理的HTTP标头
- Masony无法处理ajax响应
- 使用yii2表单等待ajax响应
- jquery返回ajax响应和用户定义的变量到函数
- 使用Ajax响应更新TextBox
- 如何在jquery ajax响应后设置jquery滑块的起始值
- Rails 4中不执行Ajax响应
- jquery解析ajax响应