簡體   English   中英

如何發送JavaScript數組到PHP?

[英]How to send javascript array to php?

因此,我嘗試了很多解決方案,但沒人為我工作。 所以我有一個javascript數組,我應該將其傳遞給php以便將其上傳到mysql

此代碼在php頁面中,該頁面是可編輯的網格。 如果在網格中按Enter,它將創建一個新行,其中包含editeble單元格的值,並且該值進入var val=[]並且應該通過`php進入mysql

我嘗試了兩種傳遞方式,如下所示

代碼我有:

<script type="text/javascript" >
    var dbs=0;
    var val=[];
    function myFunction(e) {
            if(e.keyCode == 13){
                var newId = (new Date()).valueOf();
                var value=gridbox.cells(1,0).getValue();
                gridbox.addRow(newId,value);                
                val.push(value);
                gridbox.cells(1,0).setValue('');
                gridbox.editCell(1,0);
                dbs=dbs+1;

            }
    }
    function upload(){
        var jsonString = JSON.stringify(val);
             /*$.ajax({
                type: "POST",
                url: "upload.php",
                data: {'data' : jsonString}, 
                cache: false,

                success: function(){
                    alert("OK");

                }
            });*/
        var jsonData = $.ajax({
                  url: "upload.php",
                  data: { 'data' : val},
                  dataType:"json", 
                      async: false
                  }).responseText;
        }
</script>

upload.php的

並且它在數據庫中創建了一個新的空行,因此它可以運行,但是$ data為空

//$data = json_decode(stripslashes($_GET['data']));
$data=$_GET['data'];

  // here i would like use foreach:
/*
  foreach($data as $d){
     echo $d;
  }*/


$db_irattar = new indotekDbConnection("irattar");


for($i=0;$i<4;++$i){
$sql="INSERT INTO akt_hely(Tipus,Megnevezes) 
VALUES('2','$data[$i]')

";
}

$db_irattar->Execute($sql);
$db_irattar->Close();
unset($db_irattar);
?>

網絡監控器

在我看來,您正在分配var jsonString = JSON.stringify(val); 並在ajax中發送val

嘗試

var jsonData = $.ajax({
              url: "upload.php",
              data: { 'data' : jsonString},
              dataType:"json", 
                  async: false
              }).responseText;

代替

var jsonData = $.ajax({
              url: "upload.php",
              data: { 'data' : val},
              dataType:"json", 
                  async: false
              }).responseText;

並像$data=json_decode($_GET['data']);這樣在php中解碼json字符串$data=json_decode($_GET['data']);

暫無
暫無

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

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