Asp Mvc 3 - Restful веб-сервис для потребления на нескольких платформах - PullRequest
0 голосов
/ 19 июня 2011

Я хочу предоставить спокойный веб-сервис для публикации и извлечения данных, который может использоваться мобильными устройствами или веб-сайтом.

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

Я сделал простой пример службы, развернутой на сервере разработки ASP.NET, которая просто предоставляет простое действие POST для отправки запроса с содержимым JSON. Затем я создал простую веб-страницу, используя jquery ajax для отправки некоторых фиктивных данных, но я верю, что меня ужалиет с той же политикой происхождения.

Это обычное дело, и как вы справляетесь с этим? В некоторых местах упоминается наличие прокси в домене, к которому вы всегда обращаетесь, но вы не можете использовать его в спокойной манере ...

Так это обычная проблема с простым исправлением? Поскольку, похоже, существует множество услуг для отдыха, которые позволяют третьим сторонам использовать их услуги ...

1 Ответ

1 голос
/ 19 июня 2011

Как именно вас "ужаливают с той же политикой происхождения"? Из твоего описания я не вижу, как это может быть актуально. Если yourdomain.com/some-path/defined-request.json возвращает определенный ответ JSON, то он будет возвращать этот ответ независимо от того, что запрашивает файл, если только вы не определили необходимые учетные данные, которые не были удовлетворены.

Вот пример такого веб-сервиса. Он будет возвращать один и тот же объект JSON независимо от того, откуда был сделан запрос: http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true

Если я не понимаю вас (в этом случае вы должны уточнить вашу реальную проблему), политика 1009 * с тем же происхождением здесь, похоже, здесь не применима.

Обновление Re: Комментарий

" Я создаю простую страницу HTML и загружаю ее как file://myhtmlfilelocation/myhtmlfile.html и пытаюсь сделать запрос ajax "

Причина вашей проблемы в том, что вы используете схему URL file:// вместо схемы протокола http://. Вы можете найти информацию об этой схеме в Разделе 3.10 RFC 1738 . Вот выдержка:

Схема URL файла используется для обозначения файлов, доступных на конкретном хост-компьютере. Эта схема, в отличие от большинства других схем URL, не обозначает ресурс, который является общедоступным через Интернет.

Вы должны быть в состоянии решить вашу проблему, используя схему http:// вместо схемы file:// при выполнении асинхронного HTTP-запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...