Аякс не получает ответ от с удаленного сервера.

  • Автор темы boray
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

boray

#1
Всем привет!

Подскажите пожалуйста нубу как решить проблемы(

Делаю первый раз Ajax: взял исходники простейшего клиентского приложения, оттестил на локале - все хорошо(аякс отправляет данные -> php скрипт генерит ответ -> аякс выводит данные.).
Когда решил указать удаленный хост в качестве сервера для получения данных аяксом возникли проблемы:
1) FF не отказал в доступе :rolleyes: , и обратился к скрипту на удаленном сервере. Но радости мало(, т.к. ответа мой аякс не получил, хотя я точно знаю что php-скрипт на удаленном сервере выполнился(записал результат выполнения в файл). Почему такое может происходить? Если на локале все нормально с системой.
2) IE написал "отказанно в доступе" - политика блин безопасности), и как тогда быть в этом случае - если нужно?)

Ниже код клиента дан:

Код:
<html>
<head>
</head>

<body>

<script type="text/javascript" language="javascript">
// <![CDATA[

var http_request = false;

function makeRequest(url) {
http_request = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}

http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.send('5');
}

function alertContents() {
if (http_request.readyState == 4) {	// COMPLETED
if (http_request.status == 200) {	// HTTP STATUS
alert(http_request.responseText);
} else {
alert('There was a problem with the request.');
}
}
}

// ]]>
</script>

<span
style="cursor: pointer; text-decoration: underline"
onclick="makeRequest('http://www.УДАЛЕННЫЙ_СЕРВЕР.ru/ajax.php')">

Make a request

</span>

</body>
</html>
 
N
#2
AJAX POST напрямую нельзя посылать на удаленный сервер.

Используй iframe
или
ajax обращается к локальному скрипту, а тот лезет на удалённый сервер
 
Статус
Закрыто для дальнейших ответов.