Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Post метод на сервере срабатывет, на локалке не работает / 11 сообщений из 11, страница 1 из 1
30.05.2013, 16:16
    #38280435
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
В чем причина, что через сервер (временно) все работает, а если запустить с ПК file:///C:/WebServers/.../tviyuspih.com.ua/www/urok2.html
xmlhttp.readyState = 4, а xmlhttp.status не равно 200, и xmlhttp.responseText также возвращает ничего.

ok.php
Код: php
1.
2.
3.
4.
5.
<?php
  $a = $_POST["a"];
  $b = $_POST["b"];
  echo $a + $b;
?>



и urok2.html
Код: html
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.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script type="text/javascript">
  /* Данная функция создаёт кроссбраузерный объект XMLHTTP */
  function getXmlHttp() {
    var xmlhttp;
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
      xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
  }
  function summa() {
    var a = document.getElementById("a").value; // Считываем значение a
    var b = document.getElementById("b").value; // Считываем значение b
    var xmlhttp = getXmlHttp(); // Создаём объект XMLHTTP
	xmlhttp.open('POST', 'http://tviyuspih.com.ua/ok.php', true); // Открываем асинхронное соединение
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // Отправляем кодировку
    try {xmlhttp.send("a=" + encodeURIComponent(a) + "&b=" + encodeURIComponent(b));} // Отправляем POST-запрос
	catch(e) {alert('pomilka='+e);}
	
    xmlhttp.onreadystatechange = function() { // Ждём ответа от сервера
      
	  if (xmlhttp.readyState == 4) { // Ответ пришёл
        if(xmlhttp.status == 200) { // Сервер вернул код 200 (что хорошо)
		  document.getElementById("summa").innerHTML = xmlhttp.responseText; // Выводим ответ сервера
        }
      }
    };
  }
</script>


</head>

<body>

<div>
  <input type="text" name="a" id="a" />
  

  <input type="text" name="b" id="b" />
  

  <input type="button" value="Сумма" onclick="summa()" />
  <p>Сумма равна: <span id="summa"></span></p>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
30.05.2013, 16:23
    #38280453
asws
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
если с ПК то получается кросс-доменный запрос вроде...
нельзя
...
Рейтинг: 0 / 0
30.05.2013, 16:27
    #38280462
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Андрей159,

Напишите не "статус не равен 200", а 6аоборот, чему он равен. А вдруг вы банально ошибку в пхп ловите на локалке?

Кстати, с кросс-доменным запросом похоже на правду. Статус ответа подскажет
...
Рейтинг: 0 / 0
30.05.2013, 16:30
    #38280475
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
и очень долго ждать нужно на ответ. сек -5. Хоть страницы загружаются мгновенно
...
Рейтинг: 0 / 0
30.05.2013, 16:33
    #38280488
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Домен этот: tviyuspih.com.ua ?
Если да, то замени
Код: javascript
1.
xmlhttp.open('POST', 'http://tviyuspih.com.ua/ok.php', true);

на
Код: javascript
1.
xmlhttp.open('POST', 'ok.php', true);
...
Рейтинг: 0 / 0
30.05.2013, 16:38
    #38280498
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
да, но в том случае на локальном совсем не будет работать. Хоть для меня важнее скорость, тогда придется виртуальный сервер делать что у себя тестировать...
...
Рейтинг: 0 / 0
30.05.2013, 16:41
    #38280504
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Ага. Уже быстро работает. А на локалке теперь ошибка 101, тоесть неизвесный адрес
...
Рейтинг: 0 / 0
30.05.2013, 17:12
    #38280568
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Только хрома выделывается, тоесть xmlhttp.open('POST', 'http://tviyuspih.com.ua/ok.php', true) на локалке не работает, а на сервере наботает. Когда запускаю експловер, он первый раз предупредил что он отключил activeX из-за возможной угрозы. Включил и все пошло. В хроме не знаю где включать
...
Рейтинг: 0 / 0
30.05.2013, 17:30
    #38280606
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Андрей159а если запустить с ПК file:///C:/WebServers/.../tviyuspih.com.ua/www/urok2.htmlдумаю, правильнее будет поднять сервак на локалке, запустить страницу как http://127.0.0.1/urok2.html , а в урле поста записать 'ok.php'
...
Рейтинг: 0 / 0
30.05.2013, 18:37
    #38280705
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Я понял :/ Спасибо
...
Рейтинг: 0 / 0
30.05.2013, 23:39
    #38280920
asws
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Post метод на сервере срабатывет, на локалке не работает
Андрей159Только хрома выделывается, тоесть xmlhttp.open('POST', 'http://tviyuspih.com.ua/ok.php', true) на локалке не работает, а на сервере наботает. Когда запускаю експловер, он первый раз предупредил что он отключил activeX из-за возможной угрозы. Включил и все пошло. В хроме не знаю где включатьПомню как-то проверял, как заставить работать POST на любой другой сервер.
Нашёл вроде только одно 100% решение - загрузка javascript-файла с необходимого сервера (обязательно в исходном html-коде),
причём код с POST-запросом к этому серверу должен быть именно в загружаемом с него JS-файле, иначе включается ограничение безопасности.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Post метод на сервере срабатывет, на локалке не работает / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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