jquery数组推送到php foreach
我在php中遇到以下错误:jquery数组推送到php foreach,php,jquery,html,arrays,Php,Jquery,Html,Arrays,我在php中遇到以下错误: Invalid argument supplied for foreach() 我试图在jquery中为输入值创建一个数组 <input type="text" class="passenger"> <input type="text" class="passenger"> <input type="text" class="passenger"> 然后在我把它发布到php之后,我想要它,所以我显示了所有的乘客 目前,这是行不通
Invalid argument supplied for foreach()
我试图在jquery中为输入值创建一个数组
<input type="text" class="passenger">
<input type="text" class="passenger">
<input type="text" class="passenger">
然后在我把它发布到php之后,我想要它,所以我显示了所有的乘客
目前,这是行不通的。为什么不呢
foreach($passengers as $pass){
$each_passengers = json_decode($pass);
}
实际上,您不需要对每个输入进行字符串化。首先需要做的是在表单输入中创建分组名称属性:
<input type="text" name="input[]" class="passenger" value="test1" />
<input type="text" name="input[]" class="passenger" value="test2" />
<input type="text" name="input[]" class="passenger" value="test3" />
当然,将处理它的PHP,只需将其视为正常的POST:
$inputs = $_POST['input']; // this will return an array of inputs and to access this you need a loop.
// for clarity print_r($_POST['input']);
这应该给你一个基本的想法。
$passengers
不是数组,而是字符串。您正在执行一个将json数据转换为字符串的.stringify
和var data=JSON.stringify(passengers)
在数据发送之前,然后在PHP中执行类似于$passengers=JSON\u decode($data)
的操作。if($(this).val()=“”){
只会添加空值
$.post('myphp_process.php', $('#form_values').serialize(), function(response){
$inputs = $_POST['input']; // this will return an array of inputs and to access this you need a loop.
// for clarity print_r($_POST['input']);