2016-01-31 35 views
0

我發送一個JavaScript數組通過使用jQuery的PHP腳本。 在ajax中我有一個myarr變量,但這個變量不能在php中訪問。 錯誤是:JQuery數組無法在PHP腳本中訪問錯誤:未定義索引

Undefined index myarr

請幫助我。這非常重要。

這是我的jQuery代碼:

for (var n = 0; n < arraySubId.length; n++) { 
    var ansArr = []; 
    for (var m = 1; m <= 11; m++) { 
     ansArr[m - 1] = $('#' + arraySubId[n] + '-' + m + '').val(); 
    } 

    * $.ajax({ 
     type: 'POST', 
     data: ({ 
      'sub_id': arraySubId[n], 
      'myarr': ansArr 
     }), 
     url: 'Scripts/insert_feedback.php', 
     success: function(data) { 
      if (data == "1") { 

      } else { 
       alert(data); 
      } 
     } 
    }); * 
} 

當我訪問PHP myArr,該變量,它會顯示:

Undefined index myarr.

請請幫我。

這是我的PHP代碼:

<?php 

    session_start(); 

    $prn = $_SESSION['username']; 

    $sub_id = $_POST['sub_id']; 

    $ans_arr = $_REQUEST['myarr']; 

    include 'dbclass.php'; 

    $dbclass = new DBClass; 

    $mysqli = $dbclass->connect(); 

    $query = "INSERT INTO ".$sub_id."(student_prn, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, date) values('$prn', '$ans_arr[0]','$ans_arr[1]','$ans_arr[2]', 
              '$ans_arr[3]','$ans_arr[4]','$ans_arr[5]','$ans_arr[6]', 
              '$ans_arr[7]','$ans_arr[8]','$ans_arr[9]','$ans_arr[10]', now())"; 

    $msg = $dbclass->insert($query); 

    echo $msg; 

?> 
+0

這應該回答你的問題對其進行解碼: http://stackoverflow.com/questions/9001526/send-array-with-ajax-to-php-script –

+0

你必須序列化數組和對象,然後才能通過ajax發送它們 – Bindrid

+0

我該如何做到這一點請告訴我,並且它通過這種方式完美地工作,請幫助我 –

回答

0

試圖將數組轉換爲JSON字符串和JS發送,並在PHP中使用json_decode()

+0

對不起,但在這種情況下這是不可能的,因爲很多數據將成爲基因動態編輯對不起 –

+0

爲什麼使用$ _POST [''];爲「sub_id」數據,$ _REQUEST爲「myarr」? –

+0

是的我treid $ _POST [「」]他們都沒有工作.. :( –