У меня есть API:
$data = array(
2 'api_method' => 'subscriber_add',
3 'api_key' => '3009',
4 'api_data' => array(
5 'email' => "[email protected]",
6 'list_id' => array(1,2,3),
7 )
8 );
У меня проблемы с отправкой в list_id ‘1’ с нижеуказанным sql. Электронная почта работает.
http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email][email protected]&api_data[list_id]=1
Как мне работать с массивом в массиве
Если вы отправляете сообщение POST, вы можете отправить эти данные в текст вашего ходатайства. Но я думаю, что вы должны изменить свой метод API admin-ajax.php?action=newsletters_api
Пример содержания вашего тела POST:
{
'api_method' : 'subscriber_add',
'api_key':'3009',
'api_data':[
{ 'email':'[email protected]'},
{ 'list_id': [1,2,3]}
]
}
Если вы не можете этого сделать, вы можете отправить свой массив в виде строки, разделенной запятыми:
http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email][email protected]&api_data[list_id]=1,2,3
И разбери это внутри своего кода
Я не уверен, но это работает:
Вы можете только следить за json_encode () и json_decode (), чтобы упростить передачу данных.
Наконец, отвечая на комментарий вашего первого поста, не используйте сериализацию / десериализацию это не предназначено для использования на предоставленных пользователями данных. Это может привести к инъекции объектов PHP.
Удачи,
Даниил