Javascript 在使用.each制定选项时,无法使用$.POST请求读取$\u POST值
使用.each公式化我的选项字符串,并通过.post将其发送到外部脚本Javascript 在使用.each制定选项时,无法使用$.POST请求读取$\u POST值,javascript,php,jquery,ajax,.post,Javascript,Php,Jquery,Ajax,.post,使用.each公式化我的选项字符串,并通过.post将其发送到外部脚本 clicked.closest("form").find("input,textarea").each(function(){ var input=$(this); if(index==1){ options = "{"+input.attr("name")+":'"+input.val()+"'"; }e
clicked.closest("form").find("input,textarea").each(function(){
var input=$(this);
if(index==1){
options = "{"+input.attr("name")+":'"+input.val()+"'";
}else if(index==no_inputs){
options += ","+input.attr("name")+":'"+input.val()+"'}";
}else{
options += ","+input.attr("name")+":'"+input.val()+"'";
}
index++;
});
alert(options);
$.post('../pages/ajax/add_orders.php',options,function(data){
alert(data);
});
…问题是当我的php调用脚本为
<?php
print_r($_POST);
?>
我只是得到一个没有值的空数组
第一个警报正确显示公式化字符串
但是第二个返回一个空值
非常感谢您的帮助。您的帖子需要是一个实际对象,您正在创建一个字符串
clicked.closest("form").find("input,textarea").each(function(){
var input=$(this);
if(index==1){
options[input.attr("name")] = input.val();
}else if(index==no_inputs){
options[input.attr("name")] = input.val();
}else{
options[input.attr("name")] = input.val();
}
index++;
});
我认为上述方法会奏效。试试以下方法:
var options={};
clicked.closest("form").find("input,textarea").each(function(){
var input=$(this);
options[input.attr("name")] = input.val();
});
如果您试图将数据作为请求参数或请求正文发送,您可以尝试
$.post('../pages/ajax/add_orders.php',clicked.closest(“form”).serialize(),function(data){alert(data);})代码>不要手动构建JSON!谢谢你,阿伦。救了我一天,谢谢迈克的提醒。我真蠢。