2012-06-13 2 views
2

Я отправляю данные из Javascript в PHP-файл с использованием AJAX, но я не мог взять данные ответа с PHP на Javascript, зная, что код Javascript находится в другом домене, чем PHP-код. У кого-нибудь есть идея решить эту проблему?Отправлять данные с PHP на Javascript в разных доменах

С уважением,

+1

Нам необходимо увидеть ваш код. –

+0

Как ваш JS мог отправлять данные на PHP в первую очередь, если он находится в другом домене? –

+1

@MarcB: Вы можете отправлять исходящие запросы AJAX в любой домен, не так ли? – xbonez

ответ

0

AFAIK не существует способа, чтобы отправить запрос Ajax на другой домен по соображениям безопасности. я могу думать о некоторых aproachs для обходного:

  • Вызов PHP-прокси, который затем сделать запрос корыто розетки или завиток. Example
  • сделать флэш-ролик, который называют его и установить файл crossdomain.xml
+0

re: * AFAIK нет способа отправить ajax запрос в другой домен по соображениям безопасности *, JSONP - это обычный способ сделать это сегодня. http://en.wikipedia.org/wiki/JSONP – Cheeso

+0

Я не слышал об этом. Изучая, я бы не использовал его напрямую для проблем безопасности, хотя – FabioCosta

3

Чтобы получить ответ в междоменном домене JS, вы можете включить CORS, добавив заголовок Access-Control-Allow-Origin. Однако это может быть пятнистым.

Лучшим решением было бы отправить обратно ваш ответ, закодированный как JSONP.

Вот пример использования JSONP. API, который я вызываю, является моим собственным, который поддерживает ответы JSONP. JSONP Example

Напротив, следующий пример также работает. В этом случае я не использую JSONP. Этот запрос работает, потому что мой API включен CORS. Однако, как я уже сказал, я нашел это пятнистым и рекомендовал JSONP.

CORS Example

+0

JSONP - лучший метод IMO ... –

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