我想使用 $.ajax 发送数据,如下所示:
$.ajax({'url': 'my.php',
'type': 'POST',
'data': arr,
'success': function(response) {
alert(response);
}
});
问题是 arr
是一个关联数组,如下所示:
arr['description_0'] = 'very nice picture!';
arr['tags_0'] = 'David "Nice Picture" 2010';
arr['description_1'] = 'In the pool';
arr['tags_1'] = '"April 2010" Australia';
. .
. .
. .
如果 my.php
看起来像:
<?php
echo count($_POST);
?>
响应
为 0。
但是,如果我改变
'data': arr,
到
'data': 'a=chess&b=checkers',
正如预期的那样,响应
为 2。
我应该将 arr
转换为什么才能正确发送数据?
最佳答案
如果您确实遇到问题,请尝试阅读 $.param()
.
此外,我还发现,您是如何初始化 arr
变量的?
您应该将其初始化为 var arr = {};
,然后将其作为 'data': arr,
传递。尝试查看 firebug 或 webket 的开发工具来查看哪些数据被发布
到服务器。
关于php - 需要 $.ajax 函数的帮助 - 如何发送关联数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3393135/