2014-12-05 41 views
-1

我想使用JavaScript將數據從表單發送到PHP文件。 PHP文件將這些數據推送到數據庫。目前,幾乎所有的都能正常工作,但我遇到了getElementsByClassName的數組問題。發送到數據庫後,我只能看到「數組」,但沒有數組的值。如何將JavaScript集合發送到PHP變量?

這裏有一個JS:

function przekaz_form($wejscie) { 
    var datas = document.formularz.datas.value; 
    var klient = document.formularz.firma.value; 
    var comment = document.formularz.comment.value; 
    var collect = document.getElementsByClassName($wejscie);  
    var datan = document.formularz.datan.value; 

    var items = new Array(); 
    for(var i = 0; i < collect.length; i++) { 
     items.push(collect.item(i).value); 
    } 


    jQuery.ajax({ 
     url: 'addtobase.php', 
     type: 'post', 
     data:{ 
      devices: items, 
      datas: datas, 
      klient: klient, 
      comment: comment, 
      datan: datan 
     }, 
     success: function(output) { 
      alert('Success'); 
     } 
    }); 
} 
+0

顯示PHP代碼。 – vcanales 2014-12-05 22:01:13

+0

也許我誤解了,但我會用'items.push(collect [i] .value);'代替。 [這裏的例子](http://jsfiddle.net/9y5rf5yg/1/)。 – showdev 2014-12-05 22:03:29

+0

您可能使用'echo $ array'而不是'print_r($ array)'。您不能使用'echo'命令來回顯數組。 – h2ooooooo 2014-12-05 22:04:15

回答

0

一種方式來做到這一點是:

$devices = (!is_null($inputData) && property_exists($inputData, "devices")) ? strip_tags($inputData->{"devices"}) : 0; 

$inputData = json_decode(file_get_contents('php://input')); 

一旦你的$ inputData變量,您可以通過訪問在JSON數據

您還應該嘗試更好地格式化JSON:http://json.org/example

+0

*你需要*暗示這是唯一的解決方案。是嗎? – 2014-12-06 00:07:09

+1

編輯爲「單向」 – arvy3 2014-12-06 01:23:36