2014-01-21 2 views
0

Уровень: НачинающийОпределение функции обратного вызова в формате JSON/JSONP

Привет всем,

Я очень новичок в JSON мире, и у меня есть путаница.
Я работаю над API, который утверждает, что я могу получить некоторую информацию с сервера, используя функцию обратного вызова JSON.

В API документ дает ответ, как в примере ниже:

Он говорит, что я могу получить некоторую информацию, отправив запрос на сервер, как это: www.myserver.com/id?jsonpCallback=mycallback

Дальше больше он говорит, что структура запроса будет быть, как показано ниже:

{ 
    "proto Version" : <String>, 
    "sVersion" : <String>, 
    "requestType" : <String>, 
    "requestData" : <DataModel> 
} 

и структура ответ будет, как показано ниже:

{ 
    "protoVersion" : <String>, 
    "sVersion" : <String>, 
    "responseType" : <String>, 
    "responseErrorType" : <String>, 
    "responseErrorDetail" : <String>, 
    "responseData" : <DataModel> 
} 

Мои вопросы следующие:

  1. Где этот mycallback параметр будет определен ? Что может быть отправной точкой? Думаю, мне нужно создать отдельное приложение, которое делает это для меня, но не уверен.
  2. Нужно ли мне обрабатывать мою просьбу и ответ? Если да, то где?
  3. Могу ли я обработать запрос, как показано ниже?

www.myserver.com/id?jsonpCallback={"proto Версия»: 1.2, "sVersion": 3, "RequestType": Строка "requestData": DataModel}

Было бы здорово, если бы кто-то мог указать мне хороший учебник. Я планирую использовать язык python. Спасибо за ваше время.

ответ

1

Где будет указан этот параметр mycallback? Что может быть отправной точкой? Думаю, мне нужно создать отдельное приложение, которое сделает это для меня, но не уверен.

На вашей клиентской стороне JavaScript необходимо создать глобальную функцию с уникальным именем, которое принимает единственный аргумент (который будет данными, возвращаемыми HTTP API).

Вы затем использовать это имя в качестве mycallback в URL

мне нужно обработать мой запрос и ответ тоже делать? Если да, то где?

Вы ремесло запрос путем создания script элемента, установив его src в URL API (включая ваш параметр обратного вызова), и добавляет его в DOM

Могу ли я обработать запрос, как показано ниже?

No.jsonpCallback должно быть именем функции.

Дальше больше он говорит, что структура запроса будет как ...

Эта структура не имеет смысла для запроса JSONP.

Обычно используются стандартные аргументы строки запроса.

http://www.myserver.com/id?jsonpCallback=myhandler13487w8789&protoVersion=1.2&sVersion=3&requestType=String&requestData=DataModel 

Я планирую использовать язык Python.

Тогда не используйте JSONP. Это хак для работы с политикой того же происхождения, которая является функцией песочницы браузера. Используйте обычный JSON.

+0

Спасибо за ответ, у меня не было надежды, что кто-то займет время, чтобы ответить на него. Не могли бы вы дать мне ссылку на учебник или хороший сайт для этого материала JSON + python –

Смежные вопросы