Междоменный доступ к API проверки адреса USPS

Я пытаюсь использовать API проверки адреса USPS с помощью вызова AJAX, и я получаю сообщение об ошибке «Запрос перекрестного происхождения заблокирован».

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

Эта ошибка как-то связана с утверждением?

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

Я хочу получить к нему доступ через скрипты. Пожалуйста помоги.

Любая помощь будет оценена по достоинству.

Заранее спасибо.


person Hari Chaudhary    schedule 04.02.2015    source источник
comment
Я предлагаю вам вставить точный текст ваших сообщений об ошибках здесь для удобства будущих пользователей Google. И/или используйте FastStone Screen Capture для визуализации. (Блин, сегодня я рекламирую себя как гонщик. Хотя мне меньше платят.)   -  person Bob Stein    schedule 11.02.2015


Ответы (1)


Я думаю, вы могли бы захотеть сделать это так, чтобы Ajax-запросы отправлялись на ваш веб-сервер — тот же HTTP-сервер, с которого пришла страница. А затем ваша серверная программа (на PHP, Python или на чем-то еще, что вы используете) передает запрос на сервер USPS.

Выполнение запроса на стороне браузера, от Ajax напрямую к серверу USPS, — это как раз тот вид подозрительной активности (называемый межсайтовым скриптингом), который браузеры учатся блокировать.

Теоретически CORS может быть одним из способов разблокировать запрос Cross-Origin, но в этой схеме это будет сервер API USPS, который в конечном итоге предоставляет это разрешение для страниц из вашего домена. Техническая информация: путем вставки заголовка Access-Control-Allow-Origin в ответ на запрос с Origin заголовок в Ajax туда-сюда.

person Bob Stein    schedule 11.02.2015
comment
Спасибо @BobStein, это сработало, я сделал запрос на сервер USPS через код на стороне сервера (C # ASP.NET) и получил ответ. - person Hari Chaudhary; 11.02.2015
comment
Отлично @Хари! Я собирался попросить у вас код или подробности, когда получил его, вы пытались сделать то, что я планировал сделать, и действительно когда-нибудь должно быть лучшее решение (прямое вместо ретрансляции). Кстати, я реализую свободную форму smartystreets плагин jQuery вместо этого очень актуален. Жаль, что никто так хорошо не проверяет неамериканские адреса. - person Bob Stein; 11.02.2015
comment
Да, верно. Я борюсь за проверку адреса в Канаде. - person Hari Chaudhary; 11.02.2015