Я создал простой запрос PHP Twitter, который кэширует ответ каждые 10 минут. Код запроса выглядит следующим образом:PHP Twitter Запрос с JSONP
$twitter_result = false;
if (file_exists('twitter.json')) {
$data = json_decode(file_get_contents('twitter.json'));
if ($data->timestamp > (time() - 10 * 60)) {
$twitter_result = $data->twitter_result;
}
}
if (!$twitter_result) {
$twitter_result = file_get_contents('http://api.twitter.com/1/statuses/[email protected]&rpp=1&screen_name=SolidCAMUK&count=1');
$data = array ('twitter_result' => $twitter_result, 'timestamp' => time());
if(file_put_contents('twitter.json', json_encode($data))) {
//echo 'success';
} else {
//echo 'error';
}
}
$file = file_get_contents('twitter.json');
header("content-type:application/json");
if($_GET['callback']) {
echo $_GET['callback'] . '(' . $file . ')';
} else {
echo $file;
}
exit;
И пример возвращенного JSONP для этой страницы выглядит следующим образом: http://dev.driz.co.uk/phptwitter/?callback=Test
И я пытаюсь использовать этот JSONP в моем тестовом сценарии здесь: http://dev.driz.co.uk/phptwitter/test.php
Однако данные не отображаются должным образом. Я предполагаю, что JSON не отформатирован правильно, так как когда я console.log ответ, он работает как строка, а не фактический объект ... Может ли кто-нибудь увидеть какие-либо проблемы?
Спасибо приятелю. Это исправило это. – Cameron