[英]How do I send dynamic key pair values to PHP with jQuery?
我有一些jQuery代码将数据发送到PHP函数,一些将要发送的数据是key => value对。
我现在这样做的方式是我将变量设置为[]
,然后按{'string1':'string2'}
,然后发送此变量。
像这样:
$(".test-button").click( function() {
var inputData = [];
$('.input-data').each(function( index ) {
var name = $(this).attr("name");
var value = $(this).val();
inputData.push( { name : value } );
});
var data = {
testData: inputData
};
当我用PHP获取数据时,如果我发送的是3个键值对,那么print_r输出如下所示:
Array
(
[0] => Array
(
[name] => 1
)
[1] => Array
(
[name] => 2
)
[2] => Array
(
[name] => 3
)
)
我真正喜欢的是PHP方面做的事情
foreach($myInputData as $key => $value)
{
$output .= $key . " : " . $value . " ";
}
关于如何在jQuery / JavaScript中轻松实现这一点我感到有点困惑
在创建javascript对象时, name
被视为文字,它不使用您之前定义的变量。 你可以做inputData.push( { [name] : value } );
代替。 这将每次创建一个新对象并将其添加到数组中,但您似乎正在寻找只发送一个对象的解决方案:
var inputData = {};
$('.input-data').each(function(index) {
var name = $(this).attr("name");
var value = $(this).val();
inputData[name] = value;
});
你可以尝试下面的代码。
$(".test-button").click( function() {
var inputData = {};
$('.input-data').each(function( index ) {
var name = $(this).attr("name");
var value = $(this).val();
inputData[name] = value;
});
var data = inputData;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.