0

私はLaravelの世界では初めてですが、基本的なことを理解して明確にする必要があります。だから私は1つの問題があります。コントローラーに ajax 呼び出しを行い、ビュー内の既存の div 要素にデータを返し、出力したいと考えています。ビューは別のコントローラーによってレンダリングされます。基本的に、ユーザーがロードデータを待っている間、ロードサークルを表示したいと思います。これはコードです:

ルート.php

Route::get('/members', "MembersController@index");
Route::get('/members/show/{provider}', 'AjaxController@main');

AjaxController.php

class AjaxController extends BaseController
{
    public function main($provider)
    {
        if($provider == 'test')
        {
            return "this is test";
        }

    }
}

ビューには、ajax を呼び出すリンクが 1 つと、空の div が 1 つあります。Ajax呼び出しはうまく機能しますが、MembersControllerからレンダリングされたビューのdivに「This is test」を表示するために、laravelはURL「www.domain.com/members/show/test」で新しいページを開き、「this is test」を出力します。私はそれを望んでいません。私はdivに直接返却日をロードしたいだけです。どうすれば修正できますか?

4

3 に答える 3

1

HTTP を返す方が良いですResponse():

class AjaxController extends BaseController
{
    public function main($provider)
    {
        if($provider == 'test')
        {
            return Response::json(array('success' => true, 'message' => 'this is test'));
        }

    }
}
于 2013-11-15T00:58:51.117 に答える
1

リンクを使用して AJAX 呼び出しを呼び出しているため、リンクのデフォルトの動作をオフにしていないと思います。

通常、私は JQuery を使用してこの問題に取り組みます。

$('#element-to-invoke-ajax').click(function(event){
      event.preventDefault();

      $.ajax({
         url : 'members/show/test',
         ....
      });
});
于 2013-11-15T05:59:21.573 に答える