#javascript #php #axios
#javascript #php #axios
Вопрос:
Я использую Axios для отправки данных POST на PHP. В рамках вызова я также отправляю параметр string
, который преобразуется в массив объектов с помощью JOSN.parse()
:
params: {
'myParam': JSON.parse(string)
}
На данный момент все работает нормально. Строка правильно преобразуется в массив объектов.
Однако, когда параметр отправляется, на стороне PHP массив по-прежнему остается массивом, но объекты становятся строками.
Кто-нибудь имеет представление о том, почему?
Комментарии:
1. Вы спрашиваете, почему вы не можете передавать объекты / классы javascript через POST-запрос?
2. Я хочу, чтобы массив объектов не превращался в массив строк на стороне PHP
3. Можете ли вы привести пример ввода и вывода в соответствии с тем, что вы ожидаете и что вы пробовали?
Ответ №1:
Я решил, что правильный подход заключается в следующем:
Перед вызовом AXIOS применитесь JSON.stringify()
к массиву объектов.
'myParam': JSON.stringify(arrayOfObjects) // this will be the param sent from Axios
Затем на стороне PHP, когда вы перехватываете сообщение, используйте json_decode()
, чтобы превратить строку в исходный массив объекта.
json_decode($request->all()['myParam']
Чистый и эффективный.