JavaScript передающий массив и объект через URL-адрес или запрос строки конечной точки [дубликат]

1
задан Pekka 29 April 2015 в 08:14
поделиться

2 ответа

, если вы определенно хотите использовать запрос GET, используйте JSON.stringify:

var url = '../reports/student.php?data='+ encodeURIComponent(JSON.stringify(data));

Но лучшим способом будет запрос POST.

Вы также можете использовать jQuery.param():

var data = {
  name: 'yourname',
  age: 1,
}

var params = jQuery.param(data) // 'name=yourname&age=1'
var url = '../reports/student.php?'+ params;
2
ответ дан marsh 5 September 2018 в 09:50
поделиться

jQuery.param() :

Создать сериализованное представление массива, простого объекта или объекта jQuery, подходящего для использования в строке запроса URL-адреса или Ajax запрос. Если объект jQuery передан, он должен содержать элементы ввода с свойствами name / value.

В документе также указано, что

Если объект прошел находится в массиве, он должен быть массивом объектов в формате, возвращаемом .serializeArray()

Итак, в вашем случае:

var url = '../reports/student.php?' + jQuery.param(serializeArray(data));

Чтобы несериализовать, вы должны использовать функцию jQuery BBQ deparam в соответствии с ответом cce в этом вопросе SO: Обратная функция $ .param () в JavaScript / jQuery .

1
ответ дан Community 5 September 2018 в 09:50
поделиться
Другие вопросы по тегам:

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