Встроенный API возвращает String вместо JSON
Я тестирую встроенный API, и у меня есть проблема с тем, что возвращается. Мой код в Javascript является следующим, который отправляет URL-адрес в PHP.
JAVASCRIPT
$.post('../../../services/rpc.php',
{functionName: 'getEmbed',
url: $('#story-post-new').val()},
function(response){
$.each(response, function(index, val){
...
});
})
PHP
$url = 'http://api.embed.ly/1/extract?url='.$_POST['url'].';key=xxx;';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
echo json_encode(curl_exec($ch));
Поэтому в PHP я вызываю API с использованием extract, выполняю этот URL и, наконец, выполняю json_encode для возвращаемой строки. В Javascript ответ не является объектом JSON и все еще является строкой, поэтому функция $.each не работает.
Как я могу вернуть JSON из PHP??
Благодарю.
1 ответ
Решение
Проблема решена. Что происходило? Embedly возвращает строку с номером в конце, и если я попытался JSON.parse
очевидно был неправ. Просто глупость...