因此,我將一個對象數組附加到,FormData并發送帶有ajax后期處理請求的表單。在我的php頁面上,我可以正常訪問所有表單元素(使用常規$_POST['field_name']),但是當我嘗試訪問附加的數組元素時,出現了一些問題?;旧?,如果我var_dump將該元素(稱為$_POST['dynamic_form'])看到2的數組(這是正確的),但是如果我嘗試循環該數組并回顯值,則僅回顯該數組的最后一個元素。 for (var i = 0; i < form_elements.length; i++) { formData.append('dynamic_form[]', JSON.stringify(form_elements[i])); } //THIS IS MY AJAX REQUEST $.ajax({ type: 'POST', url:'myurl', data:formData, processData: false, contentType:false, success: function(msg){ console.log(msg); alert("form saved"); }, error: function(){ alert("request failed"); } });//fine ajax//HERE MY PHP $dynamic_form = $_POST['dynamic_form']; var_dump($dynamic_form);foreach( $dynamic_form as $form ); {echo $form;} var_dump控制臺中的結果是正確的:array(2){[0] =>字符串(59)“ {” type“:” text“,” name“:”“,” value“:” 2“,” label“:” disponibile“}” [1 ] =>字符串(55)“ {” type“:” textarea“,” name“:”“,” value“:” 1“,” label“:” asd“}”}但是循環echo內部foreach僅顯示數組的最后一個元素:{“ type”:“ textarea”,“ name”:“”,“ value”:“ 1”,“ label”:“ asd”}is_array($dynamic_form) 返回true(正確)count($dynamic_form) 返回2(正確)我嘗試了一個for循環而不是一個,foreach但是我仍然有問題..我在做什么錯?
1 回答

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
盡管應該將其作為一種類型關閉,但我會解釋
foreach( $dynamic_form as $form ); {echo $form;}
被執行為
foreach( $dynamic_form as $form ) {
// do nothing
}
// echoes last value assigned to `$form` in loop.
{echo $form;}
是的,
foreach( $dynamic_form as $form );
是絕對有效的代碼(盡管我不知道為什么除非有打字錯誤,否則您可能會需要它)。
- 1 回答
- 0 關注
- 163 瀏覽
添加回答
舉報
0/150
提交
取消