2015-06-14 4 views
0

Я играю с некоторыми API в метеоритах и ​​пытаюсь использовать пакет HTTP для доступа к нему. Пример они дают форматирует запрос как Curl команду:Meteor HTTP request structuring

curl -X POST https://api.locu.com/v2/venue/search/ -d '{"fields":["name","menu_items","location","categories","description"],"menu_item_queries":[{"price":{"$ge":15},"name":"steak"}],"venue_queries":[{"location":{"locality":"San Francisco"}}],"api_key":"YOUR_API_KEY"}' 

Как превратить это в HTTP.call()? Я использую аргумент данных, который я вижу в документах? Params? Содержание? Изменения, которые я пробовал до сих пор, не сработали.

ответ

0

Это эквивалент. Это немного красивее в javascript.

сервера код сторона:

var result = HTTP.post("https://api.locu.com/v2/venue/search", { 
    data: { 
     "fields": ["name", "menu_items", "location", "categories", "description"], 
     "menu_item_queries": [{ 
      "price": { 
       "$ge": 15 
      }, 
      "name": "steak" 
     }], 
     "venue_queries": [{ 
      "location": { 
       "locality": "San Francisco" 
      } 
     }], 
     "api_key": "YOUR_API_KEY" 
    } 
}); 

console.log(result.data); // 
console.log(result.content); //.data is better if the output is in json 

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

+0

в будущем вы не должны отвечать на вопросы, которые не говорят, что они пробовали. Мы не хотим делать для них «домашнюю работу» людей. – xaxxon

+1

@xaxxon Кажется немного несправедливым. Большинство пользователей метеоров учатся. Я подозревал, что он/она попробовал данные, но передал их как строку вместо объекта. Метеор лучше справляется с самим объектом. – Akshat

+0

Это не просто мое мнение: http://stackoverflow.com/tour - Не спрашивайте: вопросы, на которые вы не пытались найти ответ (покажите свою работу!) «Варианты, которые я уже пробовал до сих пор 't работал "не показывает вашу работу. – xaxxon