我一直在搜索所有的答案,但我无法让它工作。 我想从ajax发送两个整数值到php。
这是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);
}
});
});
});
我已尝试使用dataType和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错误。
任何帮助都将非常感激。
答案 0 :(得分:2)
你的ajax正在设置ID_Participante(大写P)的参数,但是php正在检查ID_participante(小写p)。
此外,您正在检查ID_ponencia是否为空两次...认为您的意思是第二个检查ID_participante。