Описание интеграции API
API требуется форма для публикации на URL API с некоторыми полями ввода и токеном клиента.API обрабатывает и затем отправляет ответ в файл callback.php на моем сервере (это исправлено в соответствии с документацией, и мы не можем упомянуть, что хотим, чтобы ответ был отправлен в какой-то другой файл).Я могу получить доступ к опубликованным значениям, используя $ _POST в этом файле.Это все о существующем методе, и он прекрасно работает.
Теперь я хочу знать, возможно ли получить полный ответ через curl как возвращаемое значение функции curl_exec () ?.У меня нет опыта работы с curl.
Я выполнил следующий код: -
$ch = curl_init(API_URL);
$encoded = '';
$_postArray['customer_token'] = API_CUSTOMER_TOKEN;
foreach($_postArray as $name => $value)
{
$encoded .= urlencode($name).'='.urlencode($value).'&';
}
// chop off last ampersand
$encoded = substr($encoded, 0, strlen($encoded)-1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;
Ответа нет, но если я закомментирую строку curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
, значение $ resp отображает 1вместо массива ($ _POST), как я ожидал.Означает ли это 1, что была обнаружена успешная обработка API?
Если это невозможно, скажите мне, как изменить вышеприведенное, чтобы хотя бы получить ответ в файле callback.php в виде $ _POST, как это былопроисходит раньше.
Подробное описание текущего состояния и того, что я хотел
Я хотел получить ответ в качестве возвращаемого значения curl_exec (), чтобы я мог использовать ответ ajax для перенаправления страницы ввеб-интерфейс для страницы успеха (я хотел вызвать публикацию curl через ajax при отправке формы из веб-интерфейса, сохраняя ту же самую страницу на дисплее до получения ответа от API).
В настоящее время я делаю это, отправляя форму API через скрытый iframe (чтобы продолжать отображать ту же страницу), запуская счетчик javascript для определения переменной сеанса ['api_success'] и устанавливая сеанс ['api_success '] в файле callback.php (после успешного ответа от API).Я хотел отказаться от этого метода, так как он может сломаться в любой момент и в Linux Linux Firefox 2 не работает.но делать частые опросы, чтобы установить флаг статуса.Поэтому, пожалуйста, помогите мне изменить приведенный выше код, чтобы получить ответ в файле обратного вызова.В настоящее время это не идет.
Спасибо, Sandeepan