在Laravel 4中使用jQuery Ajax 4

在Laravel 4中使用jQuery Ajax 4

问题描述:

我是ajax jquery的新手,并试图理解代码并试图实现它。我会让你知道我到底想做什么以及我在做什么。在Laravel 4中使用jQuery Ajax 4

我有一个搜索框,我输入“SKU”,我得到表格和特定sku的信息。

我有这个在我的routes.php文件

Route::get('bestsellers', array('as'=>'bestsellers', 'uses' =>'[email protected]')); 

在我的控制器,我有

class SalesFlatOrderItemsController extends \BaseController { 
$sku_query = Input::get('sku'); 

     if($sku_query){ 
     $orders = SalesFlatOrder::join('sales_flat_order_item as i','sales_flat_order.entity_id','=','i.order_id') 
         ->select((array(DB::Raw('DATE(i.created_at) as days'), DB::Raw('sum(i.qty_ordered) AS qty_ordered'), DB::Raw('sum(i.row_total) AS row_total'),'i.item_id', 'i.name','i.sku'))) 
         ->where('i.sku','=',$sku_query) 
         ->groupBy('i.sku') 
         ->orderBy('qty_ordered','Desc') 
         ->paginate(10); 

    } 

    return View::make('sales_flat_order_items.bestsellers')->with('orders', $orders); 
} 

并在bestsellers.blade.php,我有

<input type="text" id="sku" placeholder="Search the sku..." name="sku"> 
<input type="hidden" id="search_sku" name="search_sku" value=""> 

<button type="button" id="searchSubmit" class="btn btn-info">Search</button><div class="spin-area" id="spin-area"> 
<thead> 
     <tr class="odd gradeX"> 
     <th>Sku</th> 
     <th>Product Name</th> 
     <th>Items Ordered</th> 
     <th>Total</th> 

     </thead> 

    @foreach ($orders as $item) 

    <tr class="odd gradeX"> 
    <td><a href="{{ URL::action('[email protected]', $item->sku) }}">{{ $item->sku }}</a></td> 
    <td>{{ $item->name }}</td> 
    <td>{{ round($item->qty_ordered,2) }}</td> 
    <td>{{ round($item->row_total,2) }}</td> 
    </tr> 
@endforeach 
</table> 
</div> 
</div> 
</div> 
</div> 

这是输入sku应该被输入,并且ajax应该帮助得到我在同一页上的sku信息。所以AJAX是如下

<script> 
$(document).ready(function(){ 

    $('#searchSubmit').on('click',function(){ 
     var data ="sku="+$('#sku').val(); 

     $.ajax({ 
     type:"GET", 
     data:data, 
     url:"/bestsellers", 
     dataType:"JSON", 
     success:function(data){ 
      alert('success'); 
     } 

     }) 
    }); 
    }); 

</script> 

有人可以让我知道什么是我的代码走错了,在此之前,我已经使用后的传统方式,并得到请求,它的工作原理,但不是AJAX调用。
请帮忙。
谢谢。

+0

的就是你在网络正在得到响应? – 2014-12-02 12:26:24

+0

如果我使用url:“/ bestsellers”,那么我得到的页面没有找到错误,当我使用url:“畅销书”,我没有得到任何错误,在网络中,没有错误显示,现在如何调试 – 2014-12-02 12:28:44

+0

反应如何? – 2014-12-02 12:29:54

试试这个

$(document).on('click','#searchSubmit',function(){ 
    var data ="sku="+$('#sku').val(); 
    $.ajax({ 
     type:"GET", 
     data:data, 
     url:"{{URL::to('/bestsellers')}}", 
     dataType:"JSON", 
     success:function(data){ 
      alert('success'); 
      // data variable will have the data returned by the server. use it to show the response 
     } 
    }) 
}); 
+0

试过这个,它给我找不到404错误页面。我的实际应该是url:localhost/laravel/public/bestsellers?sku = SDFGD – 2014-12-02 12:52:59

+0

但我得到了本地主机/畅销书?sku = SDFGD。这是你显示页面没有找到 – 2014-12-02 12:54:54

+0

如何更新的? – 2014-12-02 12:56:16