簡體   English   中英

將數組從字段發送到javascript,然后發送到php

[英]Send array from field to javascript and then to php

我堅持使用ajax函數即時創建。 這是交易,我有一個要通過ajax發送到php的表格。 在我的表單中,我有另一種表單正在上載圖像,並將URL存儲在新創建的inputfield數組中。 我的問題是我不知道如何從ajax / jquery將這些新字段發送到php

這是一些代碼

上載的文件效果很好,我從每個上載的文件中都得到了一個新字段,進入了我現有的表格。

<input name="img[]" type="hidden" value="mynewfile1.jpg">
<input name="img[]" type="hidden" value="mynewfile2.jpg">
etc...

我聲明了其他這樣的表單對象,然后將它們發送到我的php文件中

宣告

var event_title = $('input[name=event_title]');
var event_tags = $('input[name=event_tags]');

//這是我的數組即時消息,我也在嘗試發送到php,但是如何呢?

var event_img = $('input[name=img[]]');

發送這是通過常規ajax通過POST方法完成的。

var data = 'event_title=' + event_title.val() etc...

我的PHP

$event_title =  $_POST['event_title'];
$event_url =  $_POST['event_url'];
etc..

在這里,我從ajax獲取內容,然后使用變量發布和執行其他操作。

我正在像這樣獲得圖像陣列

if ($_POST['event_img']) {

  $array=$_POST['event_img'];
  foreach ( $array as $value ) {

etc...

我的猜測是問題出在ajax發送中,我如何獲取一個數組字段,並在javascript中聲明它並發送給php並在那里進行處理?

感謝您的任何想法和幫助!

我將使用.serialize()序列化整個表單,並使用ajax發送

var data = $('form').serialize();

那么如果您使用ajax發送數據,則所有當前表單數據都將可用,就好像您實際提交了表單一樣。

使用json:
通過JSON.stringify函數將數組編碼為json,在服務器端,我認為json_decode可以解決問題。

您不能使用AJAX通過文件輸入表單字段異步上傳文件,這意味着,為了使文件可以通過$ FILES數組供PHP使用,您需要實際提交表單(手動或使用.submit( )方法)。

如果確實需要使用AJAX請求上傳文件,則需要使用諸如Uploadify( http://www.uploadify.com/ )之類的工具,或者創建一個基於客戶端-服務器流的正確上傳系統(不應使用如此簡單的任務)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM