错误的数据发送通过Ajax

错误的数据发送通过Ajax

问题描述:

这个代码在AJAX错误的数据发送通过Ajax

$(document).ready(function(){ 
    var i = 0; 
    while($($(".empleado")[i]).children('.id_empleado').html() != null){ 
     var datas ='id_empleado='+encodeURIComponent($($(".empleado") 
     [i]).children('.id_empleado').html())+'&i='+i; 
     $.ajax({ 
     type: 'POST', 
     url: "descripcion_segundo.php", 
     data: datas, 
     async: false, 
     success: function (result) { 
     $("#descripcion").append(result); 
     } 
     }); 
    } 
    }); 

到PHP,这是在PHP代码(descripcion_segundo.php):

<?php 
$flag = $_POST['i']; 
$id_empleado = $_POST['id_empleado']; 
echo "<a>" . $flag ." ".$id_empleado."</a>"; 
?> 

的$标志取值1第一次和第二次1,然后循环结束。 为什么它取值1?和两次?
有趣的是,同样的行定义我,下一个:

var datas ='id_empleado='+encodeURIComponent($($(".empleado") 
[i]).children('.id_empleado').html())+'&i='+encodeURIComponent(i); 

,用我再弄值,但这个值被罚款,这意味着i的值在这种情况下0。
帮助!

+2

尝试在您的JavaScript中使用console.log(数据)并仔细检查发送到脚本的参数是否正常。 – 2012-08-09 20:50:15

+3

难道你错过了'i ++'的某处吗? – kapa 2012-08-09 20:51:24

+1

它看起来并不像这里实际需要的AJAX请求... – 2012-08-09 20:51:42

对于初学者,您的数据对象设置不正确。你应该这样做:

var datas = { id_empleado : 'Your data' };