Javascript 在Laravel4中使用jQueryAjax
我是ajax jquery的新手,尝试理解代码并尝试实现它。我会让你知道我到底想做什么,我在做什么 我有一个搜索框,在这里我输入“sku”,我得到表格和特定sku的信息 我在我的routes.php中有这个Javascript 在Laravel4中使用jQueryAjax,javascript,php,jquery,ajax,laravel-4,Javascript,Php,Jquery,Ajax,Laravel 4,我是ajax jquery的新手,尝试理解代码并尝试实现它。我会让你知道我到底想做什么,我在做什么 我有一个搜索框,在这里我输入“sku”,我得到表格和特定sku的信息 我在我的routes.php中有这个 Route::get('bestsellers', array('as'=>'bestsellers', 'uses' =>'SalesFlatOrderItemsController@index')); 在我的控制器里我有 class SalesFlatOrderItemsC
Route::get('bestsellers', array('as'=>'bestsellers', 'uses' =>'SalesFlatOrderItemsController@index'));
在我的控制器里我有
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);
}
在畅销书.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('SalesFlatOrderItemsController@performance', $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
品名
订购的物品
全部的
@foreach($订单作为$项目)
{{$item->name}
{{round($item->订购数量,2)}
{{round($item->row_total,2)}
@endforeach
这是为了输入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>
$(文档).ready(函数(){
$('searchSubmit')。在('click',function()上{
var data=“sku=“+$('#sku').val();
$.ajax({
键入:“获取”,
数据:数据,
网址:“/畅销书”,
数据类型:“JSON”,
成功:功能(数据){
警惕(“成功”);
}
})
});
});
有人能告诉我我的代码出了什么问题吗?在此之前,我使用了传统的post和get请求方式,它可以工作,但不是ajax调用。请帮忙。
谢谢。试试这个
$(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
}
})
});
您在网络中得到的响应是什么?如果我使用url:“/bestsellers”,则我得到的页面未找到错误,而当我使用url:“bestsellers”时,我没有得到任何错误,在网络中,没有显示错误,现在如何调试此响应呢?单击按钮后,不会触发任何事件,什么可以替代先生?尝试这一个,它给我404错误页面没有找到。我的实际url应该是:localhost/laravel/public/bestsellers?sku=sdfgdb,但我得到了localhost/bestseller?sku=sdfgdb。在网络中我看到了预览,它在那里工作,但我没有在页面上呈现。而且url也很好。但是cnt必须在页面上呈现如果你想在某处呈现它,那么你必须这样做。根据您的代码,它只会发出一个警告,说
'success'
$(“#占位符”)。html(数据)
就可以了