Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > jQuery.post с другого хоста


Автор: Guedda 5.7.2012, 13:52
Добрый день, уважаемые. Столкнулся неожиданно с невиданной доселе проблемой.

Есть мой веб-сервис (допустим, test.com). И если туда зайти (допустим, http://test.com/getjson), то выдается что-то типа
Цитата

[one,two,three]


В методе там прописано так:
Код

echo json_encode($some_array);


Так же есть второй мой сайт (допустим, test2.com).
В нем нам необходимо получить данные из первого сайта (с помощью AJAX).
Так вот проблема. Пишу:
Код

$().ready(function() {
    $.get('http://test.com/getjson', function(data) {
        console.log(data);
    });
});


Console мне возвращает следующее:
Цитата

XMLHttpRequest cannot load http://test.com/getjson. Origin http://test2.com is not allowed by Access-Control-Allow-Origin.


Такая же ситуация и с $.post

Помогите решить данную проблему. Мне надо туда и гетом и постом стучаться.
Заранее благодарен за ответы.

Автор: MoLeX 5.7.2012, 14:05
а случаем не через HTTPS ты пытаешься получить данные?

Автор: Guedda 5.7.2012, 14:06
Цитата(MoLeX @  5.7.2012,  15:05 Найти цитируемый пост)
а случаем не через HTTPS ты пытаешься получить данные? 

Нет. Пока все тестируется на LAMP-серваке у меня на компе.

Автор: MoLeX 5.7.2012, 14:08
Попробуй прописать
Цитата

header('Access-Control-Allow-Origin: *');


Добавлено через 1 минуту и 41 секунду
и используй костыль  - callback
Код

var url = 'http://some-long-external-url&callback=?';
$.getJSON(url, function(data) {
alert(data);// выведет твои данные
});

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)