2016-08-22 61 views
0

我开发了一个简单的Ajax code.According这个图像时,点击+数量增加,当点击 - 数量减少 enter image description hereLaravel 5.2 AJAX代码不起作用

代码在网上_help.blade.php

<head> 
     <title>Ajax Example</title> 
     <meta name="csrf-token" content="{{ csrf_token() }}"> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 

<script> 


      $(document).ready(function(){ 
       $('.cart_quantity_up, .cart_quantity_down').on('click', function(e) { 
         e.preventDefault(); 

    var increment = $(this).data('increase'); 
    var itemId = $('.cart_quantity_input').val(); 
        $.ajax({ 
          type:'post', 
          url:'getmsg', 
         dataType:'json', 
         data:{ 
          'item_id': itemId, 
          'increase': increment 

         }, 
         success:function(data){ 
        $("cart_quantity_input").val(data.qty); 
            } }); 
             }); 
       }); 
    </script> 

</head> 


<body> 


<div class="cart_quantity_button"> 
    <a class="cart_quantity_up" href="javascript:void(0)" data-increase="1" > + </a> 
    <input class="cart_quantity_input" type="text" name="quantity" value="{{1}}" autocomplete="off" size="2"> 
    <a class="cart_quantity_down" href="javascript:void(0)" data-increase="0" > - </a> 
</div> 

    </body> 
<footer> 

<script type="text/javascript"> 
     var csrf_token = $('meta[name="csrf-token"]').attr('content'); 
      $.ajaxSetup({ 
      headers: {"X-CSRF-TOKEN": csrf_token} 
         }); 
    </script> 
</script> 
</footer> 

守则控制器功能

public function ajaxl(Request $request) 
    { 
     if ($request->ajax()) { 
      $id = $request->item_id; 

      if ($request->increase) { 
       //$cart->increment('qty'); 
      $qty = 2; 

      } else { 
       //$cart->decrement('qty'); 
       $qty = 0; 
      } 
       //echo"hello ajaxlara:"; 


     return response()->json(array('qty'=> $id), 200); 
           } 
    } 

这routes.php文件

Route::get('/ajax',function(){return view('online_help');}); 
Route::post('/getmsg','[email protected]'); 

当我点击+或 - 时,该值不会改变,也不会出错。 请任何人帮我

+0

关于csrf是怎么回事?你有没有? – vitr

+0

我添加了它并测试它,它使用一个简单的代码 –

+0

我看不到任何csrf在你写的代码中,如果你不使用它,那么你需要禁用VerifyCsrfToken中间件 – vitr

回答

1

这个问题很小。

这条线:

$("cart_quantity_input").val(data.qty); 

只是你忘了补充。之前cart_quantity_input 因此将其更改为: $(“。cart_quantity_input”).val(data.qty);