每当用户使用ajax点击按钮时,我想向用户显示一个视图 这是我的代码。
// BASE = localhost/project/public/
$('#button').click(function() {
$.ajax({
url: BASE + "user/settings",
type: 'GET'
})
.done(function( data ) {
console.log( data );
});
});
我的routes.php
Route::get('user/settings', 'UserController@getSettings');
和UserController.php
public function getSettings(){
return View::make('user.settings');
}
但输出是这个错误:
{"error":{"type":"ErrorException","message":"Undefined offset: 0","file":"H:\\dev \\xampp\\htdocs\\lchat\\vendor\\laravel\\framework\\src\\Illuminate\\Support \\Collection.php","line":470}}
编辑:错误在视野中。我修好了。
问题2:通过ajax加载的页面本身包含另一个ajax post请求。但它不再通过ajax发送数据了。刷新页面以发送数据。
jquery代码:
$('#settings :submit').click(function(e){
e.preventDefault();
$.post(BASE + 'settings/save', {
'userName' : $('#userName').val()
}, function(data) {
return 'OK';
});
});
问题解决了:我使用.on
来绑定事件:
$(document).on('click', '#settings :submit', function(e){ ... } );
它正在运作...... 谢谢大家。
答案 0 :(得分:4)
嗯,首先,您的视图中有错误。您收到的错误是指您尝试访问的数组实际上没有您尝试使用的密钥($arr[0]
)。
使用视图本身修复错误后,它应该可以正常工作。 JavaScript将以HTML格式获取数据,您只需将其插入到您想要显示的位置即可。
答案 1 :(得分:3)
在视图文件之前使用字符串方法
return (String) view('Company.allUserAjax');