Я постараюсь ответить на них один за другим в меру своих возможностей. Я не могу опубликовать более двух ссылок без повторения, поэтому просто удалите «s» перед моими ссылками, чтобы использовать их.
Для HTTP-запросов через javascript важно понимать CORS.
руководство по CORS
AJAX,
также было бы полезно проверить
XmlHttpRequest а>
Чтение спецификации по отдыху, вероятно, является одним из лучших способов узнать мелкие детали того, что такое REST и на что он способен. Поиск руководств по использованию REST в программировании во многом зависит от языка.
1: Какой объект javascript создать (например, XMLHttpRequest?)
Это зависит от вашего браузера и его версии.
Есть:
XMLHttpRequests, найденные в IE7+, Firefox, chrome, safari (последние версии этих браузеров поддерживают CORS, см. здесь который.
XDomainRequests: есть в IE 8 и IE 9 (поддерживает CORS)
activeXObject: найдено в IE 6,7,8,9,10 (не поддерживает CORS)
Вы можете узнать больше о конкретных объектах IE, используя справочник Microsoft msdn api. Обычно быстрый поиск по этим объектам дает хорошие результаты.
2: Как составить URL-запрос (создать запрос)
Предполагая, что это для создания javascript, запрос зависит от сервера, на который вы его отправляете. Я уже связал вас с несколькими ссылками, которые помогут вам создать http-запрос и отправить его. Если вы хотите увидеть реальную реализацию, которая сейчас работает на практике, вы можете проверить:
функция запроса в файле Apigee usergrid.js в строке 67. (в то время, когда я опубликовал это),
Если вы хотите увидеть, как построить строку запроса ('?' после URI), проверьте функцию encodeParams в этой ссылке. Обратите внимание, что есть много способов сделать это. Это только один. Вы можете легко просто добавить "param=value" к "uri" + '?'
Следует отметить, что пример Apigee не является кросс-браузерным. Он просто предполагает XMLHttpRequest версии 2, которую поддерживают не все версии браузеров.
3: Как части запроса относятся к приложению (бэкенду), на которое я ориентируюсь.
Если вы нацелены на kinvey, предоставленная вами ссылка RESTful API действительно лучший способ объяснить это. В нем подробно описывается, как должны выглядеть заголовки вашего URL-адреса и http-запроса для действий, которые вы пытаетесь предпринять. В руководствах Кинви для отдыха есть более конкретные примеры для http-запроса. Компоненты, которые входят в URL-адрес, во многом зависят от серверной части. Если у вас есть более конкретный вопрос, я могу попытаться ответить на него.
4: Как / где / подходят ли мои учетные данные
Это опять же зависит от бэкенда/сервера. Для Kinvey они используют Basic Auth и OAuth. Вы должны проверить их руководства по безопасности для получения дополнительной информации об этом.
Если вы изучили/исследовали первоначальные ссылки, которые я опубликовал, и узнали о http-запросах, то ваши учетные данные будут находиться под заголовком авторизации httpRequest. Для кинвея это обычно выглядит так:
Авторизация: "Базовая" + Base64encoding[appId:appSecret] или "Кинвей" + [authToken]
5: Как обращаться с ответом.
Опять же зависит от бэкэнда/сервера. Вышеупомянутые ссылки на учебник AJAX и CORS показывают, как обрабатывать ответ.
Есть много разных ответов, которые вы можете получить, xml, json, простой текст и т. д. Тип, который вы хотите, обычно указывается в поле принятия заголовка запроса вами или типом содержимого заголовка ответа сервера, который сообщает вам, какой тип он отправил обратно или может отправить обратно, но для этого требуется один раз позвонить на сервер, чтобы увидеть, что он отправляет по умолчанию. Многие mBaaS обычно указывают ответы в своей документации.
Для kinvey они обычно отправляют обратно JSON, поэтому вы можете просто использовать ответ JSON.parse() и получить доступ к нужным вам данным из объекта JSON.
Надеюсь, это ответило на некоторые или все ваши вопросы, и если кто-то считает, что я сделал что-то не так или сказал что-то ужасно неточное, дайте мне знать. Это моя первая публикация о переполнении стека, но я использовал kinvey, а также многие другие mBaaS для своей работы. Так я немного познакомился с ними.
Наконец, если вы узнали то, что хотели, просто используйте javascript API Kinvey, который будет обрабатывать все взаимодействия с RESt за вас. Не нужно изобретать велосипед, если только вам не нужно сделать что-то более конкретное, чего нет в JS-фреймворках.
person
CBIII
schedule
10.07.2013