Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / запрос к php-файлу / 25 сообщений из 42, страница 1 из 2
26.12.2012, 19:53
    #38094063
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Подскажите пожалуйста,парюсь уже вторые сутки,не могу понять,в чем причина!
Обращаюсь к php-файлу на сервере,но он не срабатывает.Вобщем проблемы две,и они выделены красным
Спасибо заранее!!!!









Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript" src="II_proba_1.js"></script>
    <link rel="stylesheet" type="text/css" href="css/II_Proba_1.css">
</head>
<body onload="fStart()">
    <p>
        Состояние обмена информацией с сервером
    </p>
    <div id="dvMessage" class="th_StyleDiv" />
</body>
</html>



Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
function fStart()
{
    // создание переменной для Ajax-соединения
    var pXmlHttp = fCreateXmlHttp();
    // производим соединение с сервером
    fSendServer();

    // формирование экземпляра HMLHTTPRequest
    function fCreateXmlHttp()
    {
        // переменная для ссылки экземпляра HMLHTTPRequest
        var pXMl;

        // реализация в InternetExplorer7 и выше, и остальные браузеры
        try
        {
            pXMl = new XMLHttpRequest();
        }
        catch(e)
        {
            // реализация в InternetExplorer6 и ниже
            try
            {
                pXMl = new ActiveXObject("Microsoft.XMLHttp");
            }
            catch(e)
            {
                // невозможно создать экземпляр объекта XMLHttpRequest
                pXMl = null;
            }
        }
        return pXMl;
    }

    // функция передачи данных на сервер
    function fSendServer()
    {
        // если экземпляр объекта HMLHTTPRequest создан,то
        if (pXmlHttp)
        {
            // соединяемся с сервером
            try
            {
                pXmlHttp.open("POST","http://www.ps_start.ru/II_proba_1.php", true);//файл php находится на локальном сервере
                pXmlHttp.onreadystatechange = fComMessage;
                pXmlHttp.send(null);
            }
            // ошибка соединения
            catch (e)
            {
                window.alert("Соединение с сервером невозможно по причине:\n" + e.toString());
            }
        }
    }

    // функция обработки ответа с сервера
    function fComMessage()
    {
        // последовательная обработка обмена информацией с сервером
//        if (pXmlHttp.readyState == 1)
//            pDivRef.innerHTML += "1 - отправляется <br>"
//        else
//        if (pXmlHttp.readyState == 2)
//            pDivRef.innerHTML += "2 - отправлен <br>"
//        else
//        if (pXmlHttp.readyState == 3)
//            pDivRef.innerHTML += "3 - идет обмен <br>"
//        else
        // читаем ответ сервера
        if (pXmlHttp.readyState == 4)
        {
            var pDivRef = document.getElementById("dvMessage");// ссылка на элемент страницы
//            pDivRef.innerHTML += pXmlHttp.statusText;
            // если статус HTTP = OK
//            if (pXmlHttp.status == 200)// [color=red]1 - не срабатывает[/color]
            {
                // читаем ответ сервера
                try
                {
//                    pDivRef.innerHTML = pXmlHttp.responseText;
                    window.alert(pXmlHttp.responseText);//[color=red] 2 - выводит пустую строку[/color]
                }
                // ошибка во время чтения данных
                catch (e)
                {
                    window.alert("Ошибка во время чтения данных:<br>" + e.toString());
                }
            }
        }
//        // ошибка во время получения данных
//        else
//            window.alert("Ошибка во время получения данных:<br>" + pXmlHttp.statusText);
    }
}



Код: php
1.
2.
3.
<?php
    echo "Hello";
?>
...
Рейтинг: 0 / 0
26.12.2012, 19:54
    #38094066
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
обозначены цифрами 1 и 2(выделить не получилось)
...
Рейтинг: 0 / 0
26.12.2012, 19:59
    #38094070
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
берем firebug
идем на закладку Net
и смотрим - какие запросы браузер отправляет на сервер и что сервер возвращает браузеру в ответ на них
...
Рейтинг: 0 / 0
26.12.2012, 20:08
    #38094078
ILL HEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Код: javascript
1.
если чо выделять так
...
Рейтинг: 0 / 0
26.12.2012, 21:02
    #38094120
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
ILL HEAD
Код: javascript
1.
или так
...
Рейтинг: 0 / 0
26.12.2012, 21:22
    #38094141
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
пацаны,лучше б посоветовали что-нибудь дельное...
посмотрел на закладке net,запрос отправляется ответный,вот только он пустой.получается,что php-файл не выполняется?
...
Рейтинг: 0 / 0
26.12.2012, 21:26
    #38094146
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85получается,что php-файл не выполняется?Или отрабатывает _не тот_ файл.
...
Рейтинг: 0 / 0
26.12.2012, 21:36
    #38094153
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
странно,ведь думаю,что строка
Код: javascript
1.
pXmlHttp.open("POST","http://www.ps_start.ru/II_proba_1.php", true);


ясно указывает,какой файл должен выполняться...
блин,ну в чем причина может быть,а?
если из браузера запускаю этот php-файл,то нормально срабатывает,выводит просто "Hello"
если из phpStorm запускаю html-файл,то выводит пустое окошко...
может кто протестирует у себя,если не впадлу??
...
Рейтинг: 0 / 0
26.12.2012, 21:41
    #38094154
ILL HEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85,
код у меня работает
...
Рейтинг: 0 / 0
26.12.2012, 21:42
    #38094156
ILL HEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85странно,ведь думаю,что строка
Код: javascript
1.
pXmlHttp.open("POST","http://www.ps_start.ru/II_proba_1.php", true);


ясно указывает,какой файл должен выполняться...
блин,ну в чем причина может быть,а?
если из браузера запускаю этот php-файл,то нормально срабатывает,выводит просто "Hello"
если из phpStorm запускаю html-файл,то выводит пустое окошко...
может кто протестирует у себя,если не впадлу??открыть этот адрес в браузере. что видиш?
...
Рейтинг: 0 / 0
26.12.2012, 22:31
    #38094185
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85пацаны,лучше б посоветовали что-нибудь дельное...я ж уже советовал
/topic/993181если сервер в ответ на правильный Request выдает неправильный Response, то это проблема на стороне сервера
спросите на форуме по PHP
...
Рейтинг: 0 / 0
26.12.2012, 22:57
    #38094212
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
автороткрыть этот адрес в браузере. что видиш?
Hello"
...
Рейтинг: 0 / 0
26.12.2012, 22:59
    #38094214
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
обращаюсь через скрипт-пустой алерт выводит.
в раздел php-ников писал,там молчат
я так понимаю,проблемы с настройкой между сервером и ide phpstorm

щас попробую опен сервер скачать,может что получится.есть пример подключения
http://drupalace.ru/lesson/nastroyka-otladchika-xdebug-mezhdu-ide-phpstorm-i-serverom-open-server
...
Рейтинг: 0 / 0
26.12.2012, 23:25
    #38094236
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
А Вы уже смогли настроить локально пошаговый отладчик PHP кода ?
я без этого обычно вообще средой даже не начинаю пользоваться

если да - поставьте точку останова и гляньте, заходит ли туда вообще выполнение
...
Рейтинг: 0 / 0
26.12.2012, 23:32
    #38094239
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
никто не заметил, что автор POST запрос делает через скрипт, а браузер то GET отправляет :)
при отправке пост запроса, надо явно указывать:
Код: javascript
1.
pXmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')


Думаю проблема именно в этом. Отпишитесь, просто интересно угадал иль нет
...
Рейтинг: 0 / 0
26.12.2012, 23:44
    #38094241
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
авторникто не заметил, что автор POST запрос делает через скрипт, а браузер то GET отправляет :)
при отправке пост запроса, надо явно указывать:

pXmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')



эту строку после вызова метода open ставить?
поставил сначала до,потом после-такая же шляпа...
щас попробую настроить пошаговый отладчик
...
Рейтинг: 0 / 0
26.12.2012, 23:53
    #38094248
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85авторникто не заметил, что автор POST запрос делает через скрипт, а браузер то GET отправляет :)
при отправке пост запроса, надо явно указывать:

pXmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')



эту строку после вызова метода open ставить?
поставил сначала до,потом после-такая же шляпа...
щас попробую настроить пошаговый отладчик

между open и send. Прям обидно, что ошибся )). Просто если через хром есть возможность проверить (думаю таковая есть), то в инструментах разработчика->network можно увидеть все запросы к серверу и его ответы со статусами. Если статус ответа будет не 200, тогда надо указать какой. И ещё, возможно элементарное упирание в безопасность браузера, который считает запрос кросс-доменным. Но тогда в хроме (сорри, тестирую в основном в нём) в javascript консоле появится соответствующая ошибка.
...
Рейтинг: 0 / 0
27.12.2012, 00:06
    #38094260
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
вот чт получаю при попытке отладки

You don't have permission to access /:9000/ on this server.
...
Рейтинг: 0 / 0
27.12.2012, 00:17
    #38094269
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85вот чт получаю при попытке отладки

You don't have permission to access /:9000/ on this server.

хм... с phpstorm никогда не работал, но нарыл, что это его xdebug стучится на этот порт... На сервере, куда обращаешься, этот порт вообще открыт? И (напомню с phpstorm и xdebug никогда не работал) можно ли отключить этот xdebug и глянуть что сервер ответит если его не пользовать?
...
Рейтинг: 0 / 0
27.12.2012, 00:26
    #38094273
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
да вроде ж в php.ini прописывал в раздеде
[xdebug]
...
xdebug.remote_port=9000

щас попробую с опен сервер,может чо получится.я просто наверное общей цепочки событий не понимаю.может подскажешь что куда откуда и с кем?
получается как,сначала на сервере в его php.ini прописываем,куда закинули отладчик(xdebug в данном случае),там же прописываем
все необходимые настройки по этому отладчику,на каком порту сидит и где находится.
затем шторм настраиваем?а вот тут-то и проблема,один пишет одно,другой другое,и так пробовал,и так,но чо-то никак
...
Рейтинг: 0 / 0
27.12.2012, 00:51
    #38094290
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85да вроде ж в php.ini прописывал в раздеде
[xdebug]
...
xdebug.remote_port=9000

щас попробую с опен сервер,может чо получится.я просто наверное общей цепочки событий не понимаю.может подскажешь что куда откуда и с кем?
получается как,сначала на сервере в его php.ini прописываем,куда закинули отладчик(xdebug в данном случае),там же прописываем
все необходимые настройки по этому отладчику,на каком порту сидит и где находится.
затем шторм настраиваем?а вот тут-то и проблема,один пишет одно,другой другое,и так пробовал,и так,но чо-то никак

По идее всё может быть настроено и верно)) Ответ то какой: "У Вас нет прав для обращения к /:9000/ на этом сервере" ... Значит что-то этот порт заблокировало. Правильно понимаю, локальный сервак с дэнвером на винде?
...
Рейтинг: 0 / 0
27.12.2012, 00:59
    #38094298
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
И если файрвол включен, его лучше отрубить и попробовать ещё раз обратиться к скрипту... если ответ будет не dont have permission, тогда настроить для него нужные правила, и тогда продолжать разбираться (если проблема не уйдёт).
...
Рейтинг: 0 / 0
27.12.2012, 02:14
    #38094322
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
щас попробую
...
Рейтинг: 0 / 0
27.12.2012, 14:14
    #38094900
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
Artyr85щас попробую

Когда разберёшься в чём дело, отпишись пожалуйста... Просто ну ОЧЕНЬ интересно что там не так :)
...
Рейтинг: 0 / 0
27.12.2012, 15:13
    #38095007
Artyr85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос к php-файлу
начну с нуля
У меня такая проблема,начал изучение ajax,и вдруг столкнулся с такой проблемой.Отправляю данные на сервер методом open

Код: javascript
1.
2.
3.
pXmlHttp.open("POST","www.mysite.ru/test.php", true);
pXmlHttp.onreadystatechange = fComMessage;
pXmlHttp.send(null);



на сервере выполняется php-скрипт
Код: php
1.
echo "hello";



затем в функции приемнике fComMessage жду ответа

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
if (pXmlHttp.readyState == 4)
2	{                               
3	   // если статус HTTP = OK
4	   if (pXmlHttp.status == 200)
5	   {
6	       // читаем ответ сервера
7	           window.alert(pXmlHttp.responseText);
8	   }
9	}



Так вот, свойство pXmlHttp.status == 200 значение 200 НЕ ПРИНИМАЕТ.
В качестве локального сервера использую денвер,а в качестве отладчика PhpStorm.Но боюсь,что ответ на мой вопрос лежит в неправильной настройке отладчика,потому что в этом я ничего не понимаю.Подскажите,или разъясните по шагам,как настроить рабочую область.Ответ был пустым,как я раньше упоминал,,скорее потому,что строку проверки статуса я комментировал,тем самым игнорируя неполадки в системе,и как результат получил пустое ответное сообщение(если оно было вообще).Получается,что проблема лежит в том,как я понимаю,чтобы заставить сервер отвечать!Но сервер молчит.А значит нет связи между phpstorm и denwer?правильно или как?если да,то как их настроить на один лад?Я так понимаю денвер работает на 80-ом порту?значит скрипты javascript нужно настраивать на работу на этом порту?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / запрос к php-файлу / 25 сообщений из 42, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]