Laravel AJAX请求工作不宁静的控制器的方法控制器、宁静、方法、工作

2023-09-11 01:39:50 作者:为你断刀弃戟

Laravel AJAX请求不工作的方法的宁静控制器。

这AJAX请求不起作用上创建方法,但它的工作原理上laravel资源控制器的指数方法。

第一个链接的工作,因为它是指数法。而第二个环节是创建一个不能正常工作的方法。这两个code是相同的。

http://thetoppinghouse.com/laravel/public/listing http://thetoppinghouse.com/laravel/public/listing/create

在这里,你会得到我的code汇总 http://laravel.io/bin/roYBY

我已经张贴在这里没有活生生的例子了这个问题,但不能得到解决方案。 Laravel Ajax请求不工作控制器的

控制器的工作原理是什么

下面是我的AJAX code摘要

  // AJAX Requesst
 <脚本>
      $('#PARENT_ID')。在('改变',功能(五){
          执行console.log(E);

          VAR cat_id = e.target.value;

          // AJAX
          $获得('AJAX-subcat?cat_id ='+ cat_id,功能(数据){
          $('#子类别)空();
           $每个(数据,函数(指数,subcatObj){
           $('#子类别)追加('<期权价值=+ subcatObj.id +'>+ subcatObj.name +'< /选项>')

               });

            的console.log(数据);


          });
          });

< / SCRIPT>

和路线是在这里

// routes.php文件

路线::资源('上市','ListingController');
路线::得到('AJAX-subcat',函数(){
    $ cat_id =输入::获得(cat_id);
    $子类别=子目录::其中('PARENT_ID','=',$ cat_id) - >获得();
    返回响应:: JSON($亚类);
});
 

解决方案

问题是,你的JavaScript code是使Ajax请求 AJAX-subcat?cat_id = 1 ,一个相对的URL。这意味着:

  / laravel /公/上市=> / laravel /公/ AJAX-subcat
/ laravel /公/上市/创建=> / laravel /公/上市/ AJAX-subcat
 

既然你已经有你的JavaScript刀片模板中,你可以很容易地让Laravel生成的网址:

  // AJAX
 $获得({{网址::以('AJAX-subcat')}}?cat_id ='+ cat_id,功能(数据){
     $('#子类别)空();
 

Laravel AJAX Request not working of a restful controller of a method.

This AJAX request does not work on create method but it works on index method of a laravel resource controller.

The first link is worked as it is index method. And the second link is create method which does not work. Both code are same

http://thetoppinghouse.com/laravel/public/listing http://thetoppinghouse.com/laravel/public/listing/create

Here you will get my code summary http://laravel.io/bin/roYBY

I have already post this question without live example here but could not get solution. Laravel Ajax request not working of a controller

Here is my AJAX code summary

// AJAX Requesst
 <script>
      $('#parent_ID').on('change',function(e){
          console.log(e);

          var cat_id = e.target.value;

          // AJAX
          $.get('ajax-subcat?cat_id=' + cat_id, function(data){
          $('#subcategory').empty();
           $.each(data, function(index, subcatObj){
           $('#subcategory').append('<option value="'+subcatObj.id+'">'+subcatObj.name+'</option>')

               });

            console.log(data);


          });
          });

</script>

And routes is here

// routes.php

Route::resource('listing','ListingController');
Route::get('ajax-subcat', function(){
    $cat_id = Input::get('cat_id');
    $subcategories = Subcategory::where('parent_ID', '=', $cat_id)->get();
    return Response::json($subcategories);
});

解决方案

The problem is that your javascript code is making the ajax request to ajax-subcat?cat_id=1, a relative URL. This means:

/laravel/public/listing => /laravel/public/ajax-subcat
/laravel/public/listing/create => /laravel/public/listing/ajax-subcat

Since you already have your javascript inside the blade template you can easily let Laravel generate the URL:

 // AJAX
 $.get('{{ URL::to('ajax-subcat') }}?cat_id=' + cat_id, function(data){
     $('#subcategory').empty();

 
精彩推荐
图片推荐