Запрос данных в AJAX - PullRequest
       0

Запрос данных в AJAX

0 голосов
/ 18 августа 2010

Я попробовал эти два кода, но он не работает .. Я только хочу запросить вывод данных из другого домена из http://vrynxzent.info/hello.php

первый код

$.post("http://vrynxzent.info/hello.php",function(e){
    alert(e);
});

второй код

alert(askData());
function askData()
{
 var strUrlList = "http://vrynxzent.info/hello.php";
 var strReply = "";

 jQuery.ajax({
  url:strUrlList, success:function(html){strReply = html;}, async:false
 });
 return strReply;
}

есть ли другой способ для этого? или это возможно сделать? я хочу "Hello World!" вывод для хранения в переменной в JavaScript ..

Ответы [ 3 ]

3 голосов
/ 18 августа 2010

Та же старая та же политика происхождения .

Самый распространенный способ решить эту проблему - выполнить запрос в бэкэнде (php в вашем случае). То есть браузер отправляет запрос ajax вашему хосту, который отправляет запросы в другой домен, получает ответ и отправляет его обратно браузеру.

Есть также несколько вариантов, если вы владеете этим другим доменом. JSONP, например.

1010 * редактировать *
Забыл сказать, этот плагин jquery позволяет междоменные запросы через YQL. Пробовал себя.
http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/
Это работает не во всех случаях (в частности, если веб-мастер запретил роботов с его сайта), но все равно довольно просто и удобно.

1 голос
/ 18 августа 2010

Из-за той же политики происхождения вы не можете отправлять подобные запросы ajax в какой-либо другой домен.

Я бы предложил использовать прокси между ними.

для этого вам нужно иметь скрипт proxy.php на вашем собственном домене, и тогда ваш ajax-запрос будет

$.post( 'proxy.php' )

тогда proxy.php отправит запрос на http://vrynxzent.info/hello.php, используя curl, и отправит вам ответ

1 голос
/ 18 августа 2010

По умолчанию это не работает из-за «одинаковой политики происхождения».

Существуют обходные пути ... см .: http://www.ajax -cross-domain.com /

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