Laravel:通过ajax将视图加载到视图中

时间:2014-06-20 15:14:28

标签: jquery ajax laravel-4

我从Codeigniter&来到Laravel 4.x.不了解Laravel错误消息。我正在尝试将视图加载到视图中这是我的代码

路线

Route::get('widget/addcustomer', 'WidgetController@addcustomer');

控制器

public function addcustomer()
{
    return View::make('widget.addcustomer')->render();
}

主要观点.blade.php

<script>
function loadwidget(1, 'formname', 1)
{   
    var widget_url = '<?php echo URL::to('widget'); ?>';

    $.ajax({
        type:'POST',
        url: widget_url+'/'+formname,
        dataType: "html",
        async: false,
        cache: false,
        success: function(response)
        {
            $('#'+divid).html(response);

            if(active==0)
            {               
                $('#'+divid+' :input').attr('disabled', true);              
            }       
        }
    });
    return true;
}
</script>

外部view.php

<form id="customer_form">
    <table><tr><td>....</td></tr></table>
</form>

但在火灾中我得到了

{"error":{"type":"Symfony\\Component\\HttpKernel\\Exception\\MethodNotAllowedHttpException","message":"","file":"E:\\xampp\\htdocs\\tt_kickoff\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\RouteCollection.php","line":210}}

如果我点击http://localhost/tt_kickoff/widget/addcustomer 它正在加载正确的html

1 个答案:

答案 0 :(得分:2)

您的路线文件将GET的{​​{1}}方法 - 但您是&#34; POST&#34;到路线,所以你还需要一个addcustomer()方法。

编辑:

所以你改变了

POST

Route::get('widget/addcustomer', 'WidgetController@addcustomer');

更改您的ajax

Route::post('widget/addcustomer', 'WidgetController@addcustomer');

type:'POST',