2016-10-01 20 views
0

私はlaravel 4を使用していると私は私がリンクをクリックしたときに、AJAXを使用してコントローラに要求を送信しようとしている:内部サーバーエラーアヤックスLaravel

HTML:

<a class='btn btn-primary signup ' id="btnDialog" 
onClick='ajouter({{$data->id_facture}});'> Ajouter à la lise de paiement</a> 

が、私はいつも、エラーポストを得る500(内部サーバーエラー)

のjavascript:

<script type="text/javascript"> 

function ajouter(id){ 

    $.ajax({ 

     url:'/ajouter/'+id, 
     dataType: 'JSON', 
     type: 'post', 

     success:function(data){ 

     if(data == 'ok'){ 
      alert('added to the list'); 
     } else { 
      alert('error'); 
     } 
    } 
    }); 
    return false; 
} 

</script> 

コントローラ:ところで

public function ajouter($id=0){ 

    //return json_encode('ok'); 
    if($facture = Facture::find($id)) 
    { 
     $item = new List($id); 
     Session::put('list',$item); 
     return json_encode('ok'); 
    } 
    else 
     return json_encode('error'); 
} 

、私は次のコードで簡単なテストをしたし、それが働いている:

のjavascript:

<script type="text/javascript"> 

function ajouter(id){ 

    $.ajax({ 

     url:'/ajouter/'+id, 
     dataType: 'JSON', 
     type: 'post', 

     success:function(data){ 

      console.log(data); 
     } 
    }); 

    return false; 
} 

</script> 

コントローラ:

public function ajouter($id=0) 
{ 
    return json_encode('ok'); 
} 
+0

あなたのコントローラでは、あなたの500個のステータスに何を得るのエラーメッセージをチェックしてみてください。たぶんそれはあなたが何が問題であるかを認識するのに役立ちます。これは、ブラウザの開発ツールの[ネットワーク]タブの助けを借りて行うことができます – Silwerclaw

+0

'ajax'では' url'のidを渡していますが、あなたのコントローラにこのIDを渡していることはわかりません。あなたのレコードを取得しようとしていますが、これは成功しません。 – Franco

答えて

0

あなたのAJAXリクエスト

$.ajax({ 
    url: '/ajouter',  
    type: 'GET', 
    data: "id=" + id, 
    dataType: "JSON", 
    success: function(data, textStatus, jqXHR) 
    { 
    if(data !="") 
    {    
     console.log(data);    
    } 

    }, 
    error: function(jqXHR, textStatus, errorThrown) 
    {    
    //alert(); 
    } 
}); 

これは

public function getAjouter() 
{ 
    $id = Input::get('id'); 
    $facture = Facture::find($id); 
    if(count($facture) > 0) 
    { 
    $item = new List($id); 
    Session::put('list', $item); 
    return json_encode('ok'); 
    } 
    else { 
    return Response::json(array('error' => 'Error message'), 401); 
    } 
} 
関連する問題