2014-01-28 61 views
0

我試着通過AJAX通過ID作爲陣列,但是當我dump出來GET變量在服務器端使用PHP我沒有得到任何值,則數組爲空。調試與螢火我看到數組獲得通過,但[]編碼ids%5B%5D使用Ajax傳遞數組服務器

我的javascript

function update_category(selected) { 
     $.ajax({ 
      url: '/admin/?controller=products&action=update_category', 
      type: 'GET', 
      dataType: "application/JSON", 
      data: { 
       ids: cat_ids, 
       s_category: selected 
      }, 
      success: function(data) { 
       addAlert('alert-'+data, data); 
      }, 
      error: function(data) { 
       addAlert('alert-'+data.responseText, data.responseText); 
      } 
     }); 
    } 

的var_dump $_GET['ids']空傾銷孔$_GET我得到[ 「IDS%5B%5D」]

我不明白爲什麼數組在linux環境下提交時被編碼

在ubuntu 12下.10 PHP 5.3.10 Firebug XHR-> PARAMS

action update_category 
    controller products 
    ids%5B%5D 1403172219 
    ids%5B%5D 1530542001 
    s_category 1 

如何正確傳遞數組?

+0

的$ _GET ['IDS]將使解析錯誤。但是,嘗試做一個職位,而非get。 – Ryan

+0

您是否將js變量cat_ids設置爲某個東西?它在你的函數中看起來是空的,所以它會傳遞null。 – joe42

回答

0

既然你已經通過獲取值URL這裏詮釋,他的:

/管理/ 控制器=產品&行動= update_category

然後在data的信息可能永遠不會通過。

試試這個:

function update_category(selected) { 
     $.ajax({ 
      url: '/admin/', 
      type: 'GET', 
      dataType: "application/JSON", 
      data: { 
       ids: cat_ids, 
       s_category: selected, 
       controller: 'products', 
       action: 'update_category' 
      }, 
      success: function(data) { 
       addAlert('alert-'+data, data); 
      }, 
      error: function(data) { 
       addAlert('alert-'+data.responseText, data.responseText); 
      } 
     }); 
    } 
+0

感謝您的反饋,我給一個嘗試 – fefe

+0

相同。什麼是有趣的是,在我的下XAMPP本地主機我不正視這個問題,但在現場的Ubuntu服務器的DOS不行 – fefe