Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: X технологии > локальный файл с ajax


Автор: AGENTxXx 2.12.2011, 16:59
Добрый день! 

Столкнулся вот с такой технологией/проблемой:

Есть клиент. В данном случае - мобильный телефон. С помощью него нужно послать запрос через ajax к серверу и проверить существует ли, например, такой человек.

Функция обращения с помощью ajax:
Код

var lAp
function createRequest()
{
  try{
    //создаем объект запроса для Firefox, Opera, Safari
    xmlHttp = new XMLHttpRequest();
  } catch(e){
    //создаем объект запроса для Internet Explorer
    try{
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e){
      try{
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e){
        xmlHttp = null;
      }
    }
  }

  if(xmlHttp == null)alert("Браузер не поддерживает AJAX!");
}

/*отправка запроса*/
function sendRequest()
{
    var a=document.getElementById('login').value;
    var b=document.getElementById('password').value;
    createRequest();
    xmlHttp.open("GET", "avtoriz.php?log="+a+"&pass="+b, true);
  /*Указываем функцию*/
  xmlHttp.onreadystatechange = MyFunc;
  /*Отправляем запрос*/
  xmlHttp.send(null);
}

/*обрабатываем ответ*/
function MyFunc()
{
  if(xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
    lAp=xmlHttp.responseText;
    if (lAp!=-1)
    {
        document.getElementById('startmenu').style.display="none";
        document.getElementById('menugmanage').style.display="block"; 
    }
    else
    {
        alert('Error');
    }
      //alert(xmlHttp.responseText);
    } else {
      alert("Ошибка обработки запроса!");
    }
  }
}


В моём случае я получаю ошибку: "Ошибка обработки запроса!". Если это запускать с апача как "через сайт", т.е. www.mysite.ru/index.html то все работает хорошо, но как запускаю с адреса: c:/dir/index.html  - выдает данную ошибку.


Надеюсь что все же через ajax передать можно... Ну или расскажите, как нужно правильно реализовать?



Всем БОЛЬШОЕ спасибо заранее!!!

Автор: $дмитрий 2.12.2011, 21:15
Цитата

но как запускаю с адреса: c:/dir/index.html  - выдает данную ошибку

Это нормальное поведение браузера

Непонятно причем здесь "c:/dir/index.html", мобильный телефон и PHP?

Автор: AGENTxXx 2.12.2011, 22:29
Извиняюсь за то, что чуть запутал....

"c:/dir/index.html" - это файл, который запускался. По адресу видно, что был открыт как обычный файл
Мобильный телефон - к тому, что он будет выступать в роли клиента, а сервер будет удаленный.
php - ajax обращается к php - смотрим внимательно!!! 
Код

xmlHttp.open("GET", "avtoriz.php?log="+a+"&pass="+b, true);


Понял пока что одно: нужно курить пока что в сторону Cross-domain, но решение пока не найдено....

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