我有一些将数据发送到 PHP 函数的 jQuery 代码,一些将要发送的数据是键 => 值对。
我现在的做法是将变量设置为 []
,然后推送 {'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;
});
关于javascript - 如何使用 jQuery 将动态 key 对值发送到 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57352297/