我有問題來解析包含數組的一個get變量並用jquery ajax發送它。編碼數組在php中的問題
數組我送可以看看,因爲它遵循
ids%5B%5D 1403172219
ids%5B%5D 1530542001
ids%5B%5D 1582588379
但是當我試圖轉儲($_GET['ids]
)我得到空我啞巴洞$_GET
比看起來像
ids%5B%5D] => 1530542001
的JQuery
function update_category(selected) {
console.log(cids);
$.ajax({
url: '/admin/',
type: 'GET',
dataType: "application/JSON",
data: {
ids: cids,
s_category: selected,
controller: 'products',
traditional: true,
action: 'update_category'
},
success: function(data) {
addAlert('alert-'+data, data);
},
error: function(data) {
addAlert('alert-'+data.responseText, data.responseText);
}
});
控制器
protected function update_category() {
print_r($_GET);
$cat_ids = $_GET['ids'];
$category = $_GET['s_category'];
if(!empty($cat_ids) && !empty($category)){
$this->model->updateCategory($cat_ids, $category);
} else {
echo 'Fähler in der Daten übergabe!';
exit();
}
}
}
在本地主機上我使用PHP 5.4,我不面對直播服務器Ubuntu的PHP 5.3.10任何問題的錯誤依然存在
在localhost
Array (
[ids] => Array (
[0] => B6Q09EA#ABD
[1] => H4P04EA#ABD
)
[s_category] => 4
[controller] => products
[traditional] => true
[action] => update_category
)
正確的輸出ids被建造成像
cids = [];
jQuery.each(sData, function(key, value) {
cids.push(value.value);
});
它只會顯示最後一個,因爲它會替換所有並等於最後一個請更改索引aur make ids []作爲數組 –
問題是什麼?這種行爲是預期的。請澄清你想要做什麼。並向我們展示您的jQuery代碼。 – Happy
兩臺機器上的字符編碼是否相同?另外,該輸出是否正確打印在SO上? – krowe