2015-08-25 9 views
0

У меня есть API:Создать сообщение URL с массивом внутри массива

$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 

Как я имею дело с массивом в массиве

+1

добавить тег языка, пожалуйста, –

+1

Там нет SQL в вашем вопросе –

+0

Похоже, GET, а не POST, в этом случае сериализации и base64 весной на ум. – Popnoodles

ответ

0

Если вы отправляете 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 

И разбором, что внутри вашего кода

0

Я не уверен, но это работает:

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&api_data[list_id][]=2&api_data[list_id][]=3

Вы можете взять только глаза на json_encode() и json_decode(), чтобы сделать передачу данных проще.

Наконец, отвечая на комментарий вашего первого сообщения, не используют serialize/unserialize, который не предназначен для использования в данных, предоставленных пользователями. Это может привести к вложению объектов PHP.

Успехов,

Daniel