我尝试实现以下代码
var flag = new Array();
var name = $("#myselectedset").val();
$.ajax({
type: 'post',
cache: false,
url: 'moveto.php',
data: {'myselectset' : name,
'my_flag' : flag
},
success: function(msg){
$("#statusafter").ajaxComplete(function(){$(this).fadeIn("slow").html(msg)});
}
});
你可以看到名字是一个字符串而且标志是arry,我使用正确的格式传递它们抛出ajax调用,任何人都可以帮助我,谢谢
答案 0 :(得分:1)
在POST请求中传递数组是不可能的。只有字符串。
您需要对数组进行字符串化,或者考虑将其作为JSON发布。
答案 1 :(得分:0)
你应该可以做一些非常简单的事情,比如用“
”替换你的“数据”属性data : JSON.stringify( { myselectset : name, my_flag : flag } )
这会将数据转换为JSON字符串,您可以使用json_decode($ _ POST [“my_flag”])将其转换为PHP;
非常重要的说明:
要使JSON.stringify起作用,数组中不能有任何函数 - 甚至不是作为对象方法的函数。
此外,因为这是一个快速示例,请确保您正在测试空数据和所有其他最佳实践。