2016-08-23 3 views
0

ich folgenden Code Javascript haben:

var configuration = []; 

configuration["step 1"] = val1; 
configuration["step 2"] = val2; 
configuration["step 3"] = val3; 
configuration["extraData"] = extra_data;   

var data = { 
    action: 'configuration_save', 
    config: configuration, 
}; 

$.post(ajaxurl, data, function (response) { 
    alert(response) 
}); 

$_POST['config'] in PHP leer zeigt. Mache ich einen Fehler beim Übergeben von Array.

PHP CODE

$current_user = wp_get_current_user(); 
$user_id = $current_user->ID; 

add_user_meta($user_id, "CONFIG", $_POST['config']); 
+0

entfernen Sie das ',' 'hier config: Konfiguration,' –

+0

uns zeigen 'configuration_save' Code –

+0

@TheFlash: noch leer –

Antwort

0

Verwendung unten aktualisiert ein

var main_configuration = [] ; 
    var configuration = []; 
    var configuration ={ 
      'step 1' : val1, 
      'step 2' : val2, 
      'step 3' : val3, 
      'extraData' : extra_data 
    }; 

    main_configuration.push(configuration); 

    var data = { 
      action: 'configuration_save', 
      config: main_configuration, 

      }; 
    $.post(ajaxurl, data, function (response) { 

       alert(response) 

    }); 
+0

warum sollte ich so verwenden? Ich möchte alles in einem Array –

+0

Javascript behandeln '' '' '' '' 'anders. Das erste ist nur für nummerierte Arrays, das zweite (Objekt-Style) kann nur String-Keys haben. –

+0

Verwenden Sie dann configuration.push ({"step 1": val1}); und so weiter wird es funktionieren –