создание обертки для данных в формате JSON, JSONP в


Ive было сделаешь, чтобы решить это в течение долгого времени, и теперь знаю, почему ее не возможно. Url

Http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3

Возвращает json, но когда я добавляю" &callback=get " вместе с ним,он не указывает функцию-оболочку обратного вызова.

Таким образом, единственным решением сейчас является создание оболочки вручную вокруг данных json.

Мой вопрос в том, как мне это сделать. Есть ли какой-то код, уже существующий в php / javascript, который я могу изменить в соответствии с моими спецификациями.

Любой совет будет оценен по достоинству.

Спасибо

Ананд

1 3

1 ответ:

Ну, цель JSONP-обернуть JSON (который будет оцениваться как JavaScript на стороне клиента) в обратный вызов, который знает только клиент, запрашивающий данные. Это предотвращает выполнение клиентом нежелательного кода JavaScript. Без обратного вызова ou будет иметь ту же проблему политики происхождения (которую решает JSONP), поэтому вы можете только запросить URL-адрес, с которого пришел сценарий.

В основном вам придется присоединить обратный вызов с PHP, то есть на стороне сервера, с прокси-сервером скрипт. Скрипт извлекает данные из другого URL и оборачивает их в обратный вызов:

<?php
    // Don't know on the fly how to request data from another URL in PHP, but it's easy to find out
    $response = request_url('http://twittercounter.com/api/?username=Anand%5FDasgupta&output=json&results=3');
    echo $_GET['callback'] . '(' . $response . ')';
?>