javascript - 如何使用 jQuery 将动态密钥对值发送到 PHP?
问题描述
我有一些将数据发送到 PHP 函数的 jQuery 代码,并且将发送的一些数据是键 => 值对。
我现在这样做的方式是设置一个变量[]
,然后 push {'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;
});
推荐阅读
- pyspark - 如何修改多个案例的列数据。(对于 pyspark)
- haskell - 从括号之间提取文本
- python - 如何检查子进程的输出但也隐藏它?
- reactjs - 'ReactComponent' 不是从 svg 导出的
- python - 使用python在崇高文本中出现文件路径错误
- windows - 跟踪日志,直到给定的表达式与 Docker 匹配
- javascript - 如何在函数后编码'('时关闭VS Code上的Intellisense自动完成功能
- reactjs - 动态按钮创建 React
- javascript - 通过 smarty 使用 category.tpl 中的多个文件
- java - 国际象棋接口与 Piece IMG 实现