Встроенный 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 очевидно был неправ. Просто глупость...

Другие вопросы по тегам