传递给jquery的参数错误

传递给jquery的参数错误,jquery,parameter-passing,Jquery,Parameter Passing,更新:好的,我找到了一个解决方法。如果我发送一个int,而不是字符串,它就被正确传递了。所以它与字符串传递有关,可能小于“0008000000”? 我可以用jquery做一些事情。这是PHP和jquery脚本之间唯一的代码。我使用jquery V.3.1.1 我有以下Ajax请求: function postday(day,month,year,id){ alert(id); // => 0000342391 id = ("0000000000" + id).slice(-10);

更新:好的,我找到了一个解决方法。如果我发送一个int,而不是字符串,它就被正确传递了。所以它与字符串传递有关,可能小于“0008000000”?

我可以用jquery做一些事情。这是PHP和jquery脚本之间唯一的代码。我使用jquery V.3.1.1

我有以下Ajax请求:

function postday(day,month,year,id){
  alert(id); // => 0000342391
  id = ("0000000000" + id).slice(-10); //add leading zeros
  day = ("00" + day).slice(-2);
  month = ("00" + month).slice(-2);
  $.post("calendarresults.php",{day:day,month:month,year:year,id:id},
  function(data){
    $("#results").html(data);
  });
}
html/PHP:

var_dump($id); // => 0001234567
echo "<li class='thumbnail'  id='icontopointer' onclick='postday(".$intday.",".$month.",".$year.",".$id.")'>".$intday."</li>";
发生什么事了?我也看不到模式


关于AJAX的生成,一定有一些逻辑干扰,或者这些值根本不是您所期望的。您显示的代码不会导致此问题,我已停用所有其他脚本,它仍会修改id参数。有什么方法可以调试参数的传递吗?您可以通过控制台的网络选项卡查看请求中发送的内容,至少在Chrome中是这样的。我相信其他浏览器的开发工具中也有类似的工具,如果能看到这样一个实际的工作示例,肯定会很有帮助。你能把你的问题编辑成只包含HTML输出(不是PHP)吗?我已经添加了HTML输出
passing: "0009551064" => "0009551064" 
passing: "0001234567" => "0000342391" 
passing: "0005364421" => "0001435921"
passing: 0004551064 => 1233460
passing: 0005551064 => 1495604
passing: 0006551064 => 1757748
passing: 0007551064 => 2019892
passing: 0008551064 => 8551064
passing: 0009551064 => 9551064