Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Post метод -> AJAX

990
10 августа 2009 года
Stalcer
137 / / 15.08.2004
Есть AJAX скрипт WHOIS. Если его залить на сервер - работает, но если попробовать прописать глобальный url к JS-файлам в index.html и запустить index.html локально, скрипт выводит сообщение "There was a problem with the request." по непонятной мне причине.

Подскажите, пожалуйста, почему.

index.html:

[html]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://domain.com/ajaxforms.js" type="text/javascript"
language="javascript"></script>
<script type="text/javascript" language="Javascript">
function focus(){ document.myform.domainname.focus(); }
</script>
</head>

<body onload="focus()">
<form action="java script:get(document.getElementById('myform'));"
name="myform" id="myform">
<input name="domainname" type="text" class="domainform"
onKeyUp="java script:get(this.parentNode);">
</form>
</body>
</html>
[/html]

ajaxforms.js:

Код:
var http_request = false;
   function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) {
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {          
            http_request.overrideMimeType('text/html');
         }
      } 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('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
      document.getElementById('myspan').innerHTML =
 '<img src="/images/loading.gif">';

   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
    document.getElementById('myspan').innerHTML = result;    

         } else {
            //Вот тут вылетает если запускать index.html локально!
            alert('There was a problem with the request.');
         }
      }
   }
   
   function get(obj) {
      var getstr = "?";
      for (i=0; i<obj.childNodes.length; i++) {
         if (obj.childNodes.tagName == "INPUT") {
            if (obj.childNodes.type == "text") {
               getstr += obj.childNodes.name +
 "=" + obj.childNodes.value + "&";
            }

         }  
       
      }
      makeRequest('http://domain.com/get.php', getstr);
   }


Сам скрипт целиком: http://www.ajaxdomainsearch.com/blog/?download=AjaxDomainSearch
563
10 августа 2009 года
MrLinker
249 / / 17.09.2006
Цитата:
Подскажите, пожалуйста, почему


Кроссдоменные запросы запрещены по соображениям безопасности (если я правильно все понял).

990
10 августа 2009 года
Stalcer
137 / / 15.08.2004
Возможно ли заменить в локальном файле пост запрос на эквивалент JS без перезагрузки страницы? Если да, то где посмотреть.

Спасибо за помощь.
276
10 августа 2009 года
Rebbit
1.1K / / 01.08.2005
Цитата: Stalcer
Возможно ли заменить в локальном файле пост запрос на эквивалент JS без перезагрузки страницы? Если да, то где посмотреть.

Спасибо за помощь.



Не знаю. Но можно на своем сайте написать прокси скрипт. Он будет HttpClient-ом бегать на чужой сайт и отдавать инфу сам.

!!! Только делать такое самовольно без согласия владельца чужого сайта противозаконно. !!!

990
10 августа 2009 года
Stalcer
137 / / 15.08.2004
Нарыл выход из положения - jQuery.
Это можно сделать с помощью функции getJSON (JQUERY).

JSON (JQUERY):
http://docs.jquery.com/getjson

Собственно как загрузить результат запроса:
http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/

Кто-то может помочь с этим, за материальное вознаграждение?
Whois во вложении.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог