通过laravel中的ajax返回视图

Par*_*ars 6 php ajax jquery laravel laravel-4

我想在用户使用ajax单击按钮时向用户显示视图.
这是我的代码.

// BASE = localhost/project/public/

    $('#button').click(function() {
        $.ajax({
            url: BASE + "user/settings",
            type: 'GET'
        })
        .done(function( data ) {
            console.log( data );
        });
    });  
Run Code Online (Sandbox Code Playgroud)

还有我的routes.php

Route::get('user/settings', 'UserController@getSettings');
Run Code Online (Sandbox Code Playgroud)

和UserController.php

public function getSettings(){
    return View::make('user.settings');
}
Run Code Online (Sandbox Code Playgroud)

但输出是这个错误:

{"error":{"type":"ErrorException","message":"Undefined offset: 0","file":"H:\\dev    \\xampp\\htdocs\\lchat\\vendor\\laravel\\framework\\src\\Illuminate\\Support    \\Collection.php","line":470}}
Run Code Online (Sandbox Code Playgroud)

编辑:错误在视图中.我修好了它.

问题2:通过ajax加载的页面本身包含另一个ajax post请求.但它不再通过ajax发送数据了.刷新页面以发送数据.

jquery代码:

$('#settings :submit').click(function(e){
    e.preventDefault();
    $.post(BASE +  'settings/save', {
        'userName' : $('#userName').val()
        }, function(data) {
            return 'OK';
    });
});
Run Code Online (Sandbox Code Playgroud)

问题解决了:我曾经.on绑定事件:

$(document).on('click', '#settings :submit', function(e){ ... } );
Run Code Online (Sandbox Code Playgroud)

它的工作......谢谢大家.

Sha*_*una 3

好吧,首先,你的观点有误。您收到的错误是指您尝试访问的数组实际上没有您尝试使用的密钥 ( $arr[0])。

一旦修复了视图本身的错误,它应该可以正常工作。JavaScript 将以 HTML 形式获取数据,您可以将其插入到您希望其显示的任何位置。