2015-01-14 2 views
1

Недавно я получил возможность разместить статическую веб-страницу с опцией подписки на aws s3 во время разработки веб-сайта. Моя статическая веб-страница делает вызов ajax другой службе RESTful с электронным письмом абонента в качестве параметра. Когда подписка завершена, мне нужно уведомить абонента. Здесь он швыряет проблему с обратным вызовом.AWS S3 статический сайт ajax callback failed

$.ajax({ 
    type: 'GET', 
    url: 'http://www.my-domain.com/api/Subscribe?email=' + email 
}).success(function (data) { 
    if (data) { 
     alert('Thank you for registering!'); 
    } 
}); 

После подписки делается «.success (» не вспылить ответ на просьбы:.?

Reload the page to get source for: http://www.my-domain.com/api/[email protected] 

Кто-нибудь знает если это особенность s3 или что-то еще

+0

Любое решение? @maxim – theChinmay

+0

@ theChinmay, к сожалению нет, я отказался от s3 как хостинг веб-сайтов. – Maxim

+0

Спасибо. Что вы сейчас используете? – theChinmay

ответ

2

по вашему описанию это, кажется, связано с политикой CORS

Посмотрите на "why CORS", как Amazon определяет его:.

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

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

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

Я понял, что:

[...] Ajax вызов другому RESTful службы [...]

Средства называют на другой сервер, и это может быть заблокирован Браузер из-за CORS.

Ссылки:

Mozilla W3C

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