Как разместить массив из javascript в php?

] Я хочу опубликовать массив, используя Jquery Ajax для php. Это возможно ?

Спасибо

. РЕДАКТИРОВАТЬ:

Я попытался сделать следующее:

type: "POST",
url: "path",
data: "styles=" + strstyles + "&templateId=" + custTempId, //strstyles is an associative array
dataType: "json",
success: function (data) { .....}

, но стили не содержат данных. Я потратил много времени, прежде чем добавить тип данных в объявление. В чем может быть причина того, что «стили» публикуются как нулевые?

Второе редактирование

Я хочу опубликовать объект dom таблицы стилей и сохранить имена классов и свойства в БД. С вышеупомянутым редактированием добавление типа данных не помогло. Я думаю, что это потому, что строка не в формате json, как показано ниже -

    {"a":1,"b":2,"c":3,"d":4,"e":5}

Поскольку моя строка имеет двойные кавычки, она не соответствует формату, и я думаю, что по этой причине я получаю пустой массив. Как я могу справиться с этим?

1
задан KutePHP 27 August 2010 в 09:16
поделиться

4 ответа

С jQuery это очень просто:

$.ajax({
    type: "POST",
    url: location.href,
    data: data,//data is array
    dataType: "json",
    success : function () {
        // Something after success
    }
});
2
ответ дан 2 September 2019 в 21:49
поделиться

, если вы не хотите использовать JSON, PHP может автоматически создавать массивы из HTML-форм поэтому вы можете сделать что-то вроде этого:

type: "POST",
url: "path",
data: "styles[key1]=" + strstyles.val1 + "&styles[key2]=" + strstyles.val2 + ... + "&templateId=" + custTempId
...

то есть, если вы хотите иметь ассоциативный массив в php, но если вам нужен только массив, вы можете сделать

data: "styles[]=" + strstyles.val1 + "&templateId=" + custTempId
0
ответ дан 2 September 2019 в 21:49
поделиться

Также можно использовать

$.ajax({

type: "POST",
url: location.href,
data: ({'data[]' : array}),//array is array
dataType: "json",
success : function () {
    // Something after success
}

});

0
ответ дан 2 September 2019 в 21:49
поделиться

В вызове POST вы не используете & , поэтому ваш код должен быть что-то вроде

type: "POST",
url: "path",
data: {styles: strstyles , templateId: custTempId}, //strstyles is an associative array
dataType: "json",
success: function (data) { .....}

это понятно? Итак, переходя к моему решению,

  1. вы должны скачать анализатор JSON с http://www.mediafire.com/?x6k3su7bbdrcta8.
  2. Создать объект strstylesOBJ, код: var strstylesOBJ = {};
  3. вставьте свой массив strstyles в strstylesOBJ и преобразуйте его в строку, а затем передайте его в своем почтовом вызове

      strstylesOBJ.styles = strstyles;
    strstyles = JSON.stringify(strstylesOBJ);
     
  4. В коде PHP вы обновляете свой массив, используя $strstyles = json_decode($_POST['styles']);

  5. выполните var_dump($strstyles) и сообщите, пожалуйста, что получилось.

С уважением

Аяз Алави

0
ответ дан 2 September 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: