2014-02-19 142 views
0

我一直在尋找所有答案,但是我無法使其工作。 我想發送兩個整數值從ajax到php。PHP無法從Ajax獲取值

這裏是AJAX部分:

$(document).ready(function(){ 

    $('input[type="radio"]').click(function(){ 
      var id_user=$(this).filter(':checked').val(); 
      var stringname=$(this).attr('name'); 
      var substr = stringname.split('_'); 
      var id_paper=substr[1]; 
      alert('User_id is: '+id_user +'. And paper_id is: '+id_paper); 

      $.ajax({ 
      type: "POST", 
      url: "ajax/expositor.php", 
      data: {ID_ponencia: id_paper, ID_Participante: id_user}, 
      //contentType: "application/json; charset=utf-8",//type of response 
      //contentType: "application/x-www-form-urlencoded;charset=utf-8", 
      //dataType: "json", 
      beforeSend:function(){ 
       alert('This is AJAX. The following is about to be sent. paper:'+id_paper+' user: '+ id_user); 
      }, 
      success:function(response){ 
       var msj='#msj_'+id_paper; 
       $(msj).append(response); 
      }, 
      error:function (xhr, ajaxOptions, thrownError){ 
       alert(xhr.status); 
       alert(thrownError); 
      } 
      }); 
    }); 
}); 

我試圖與數據類型,且contentType中的註釋部分,它也不管用。

這裏是php代碼。

if(isset($_POST["ID_ponencia"]) && !empty($_POST['ID_ponencia']) && isset($_POST['ID_participante']) && !empty($_POST['ID_ponencia'])) 
{ 
    $ID_participante=$_POST['ID_participante']; 
    $ID_ponencia=$_POST['ID_ponencia']; 
    echo ('<p style="color: green;">Success! ☺</p>'); 
}else{ 
    //Output error 
    echo ('<p style="color: red;">error!</p>'); 
    header('HTTP/1.1 500 There has been an error!'); 
    exit(); 
} 

的PHP工作正常,因爲我已經測試了一個HTML表單張貼到PHP腳本,我也得到了全成的消息。但是,從ajax腳本我得到500錯誤。

任何幫助將非常感激。

+2

您是否嘗試過使用瀏覽器的控制檯工具觀看請求/響應循環?這應該揭示過程中的任何錯誤。 –

回答

2

您的ajax設置ID_Participante(大寫字母P)的參數,但php正在檢查ID_participante(小寫字母p)。

此外,你正在檢查ID_ponencia是否不是空的兩次......認爲你的意思是第二個檢查ID_participante。

+0

Ooooppsss !!!哦,是的,這就是訣竅! ☺神聖的大號器和小提琴! – Pathros