我有以下代碼:
var social_buttons_array = [];
social_buttons_array["google"] = $("input[name='social_popup_google']").is(":checked") ? 1 : 0;
social_buttons_array["twitter"] = $("input[name='social_popup_twitter']").is(":checked") ? 1 : 0;
social_buttons_array["twitter_follow"] = $("input[name='social_popup_twitter_follow']").is(":checked") ? 1 : 0;
social_buttons_array["facebook"] = $("input[name='social_popup_facebook']").is(":checked") ? 1 : 0;
而且我試圖傳遞數組是這樣的:
$.get(
ajaxurl,
{
action: 'process_data',
get: 'social_popup',
social_buttons_array : social_buttons_array // not works
},
function(response) {
},
'json'
);
這不作品。任何想法傳遞數組?
EDIT & &溶液
我編輯這個問題通過一個對象,將作爲一個陣列,以取代associative array
。
var social_buttons_array = new Object();
social_buttons_array.google = $("input[name='social_popup_google']").is(":checked") ? 1 : 0;
social_buttons_array.twitter = $("input[name='social_popup_twitter']").is(":checked") ? 1 : 0;
social_buttons_array.twitter_follow = $("input[name='social_popup_twitter_follow']").is(":checked") ? 1 : 0;
social_buttons_array.facebook = $("input[name='social_popup_facebook']").is(":checked") ? 1 : 0;
$.get(
ajaxurl,
{
action: 'process_data',
get: 'social_popup',
social_buttons_array : JSON.stringify(social_buttons_array) // it works great over an object
},
function(response) {
},
'json'
);
要管理PHP這個數組/對象,我們需要:
$social_buttons_array = json_decode(stripslashes($_GET['social_buttons_array']));
然後我們必須管理這一變種作爲一個對象:
echo $social_buttons_array->google
// results in 1 or 0
謝謝。你讓我在正確的方向... – 2012-03-15 01:27:39