Перейти к содержимому


Пользователь месяца
Ixman Ixman 1-й за Октябрь
Очков активности: 693 0 тем, 33 сообщения, 14 баллов репутации
Сайт: o5cat.ru
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 96 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #2

    Ixman (o5cat.ru)
    Очков активности: 85.5 Вне конкурса за определение пользователя месяца

  • Фотография yuran
    #3

    yuran (yurbol.ru)
    Очков активности: 82.5 0 тем, 55 сообщений, 1 балл репутации

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 51 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #5

    Mandarin
    Очков активности: 51 0 тем, 34 сообщения, 1 балл репутации

  • Фотография WGN
    #6

    WGN (worldgamenews.com)
    Очков активности: 45 Вне конкурса за определение пользователя месяца

  • Фотография pozitron123
    #7

    pozitron123
    Очков активности: 31.5 2 темы, 15 сообщений, 1 балл репутации

  • Фотография алексс
    #8

    алексс
    Очков активности: 27 2 темы, 12 сообщений, 1 балл репутации

  • Фотография Андрей WPMasterKZ
    #9

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 19.5 0 тем, 13 сообщений, 1 балл репутации

  • Фотография Scool
    #10

    Scool (stostory.ru)
    Очков активности: 19.5 3 темы, 4 сообщения, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 31.10.2018
  • Яндекс выдача: 15.11.2018
Топ 5 участников по репутации


Xmlhttp.responseText возвращает всегда 0

#1 Kuchuluk

Kuchuluk
  • Пользователь
  • 333 сообщений
  • Репутация: 5
0

Отправлено 13 November 2013 - 20:43

есть два поля для ввода чисел, эти числа отправляются в php скрипт, который должен вернуть их сумму, но почему то он всегда возвращает ноль. Отправляю запрос и принимаю ответ этим скриптом
function summa ()
  {
   var slag_1 = $("input[name='slag_1']");
   var slag_2 = $("input[name='slag_2']");
   var xmlhttp = getXmlHttp(); // объект XMLHTTP
   xmlhttp.open("POST", "summa.php", true); // асинхронное соединение
   xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   xmlhttp.send("slag_1=" + encodeURIComponent(slag_1) + "$slag_2=" + encodeURIComponent(slag_2));
   xmlhttp.onreadystatechange = function ()
   {
	if (xmlhttp.readyState == 4) // ответ пришел
	{
          if (xmlhttp.status == 200) // сервер вернул код 200
          {
               var sum = xmlhttp.responseText;
                alert(sum);
           }
	}
   }
  }
а сам php скрипт такой
<?php
$s1 = $_POST['slag_1'];
$s2 = $_POST['slag_2'];
$sum = $s1 + $s2;
echo $sum;
?>

 

 

  • 0

#2 fedornabilkin

fedornabilkin
  • Модератор
  • 1132 сообщений
  • Репутация: 193

Отправлено 14 November 2013 - 07:04

Учись дебажить скрипты.
После отправки данных, посмотри какие заголовки были отправлены, а конкретно - какая строка данных и что в ней.
Если данные отправились те, которые и должны были отправиться, то смотри пхп-скрипт.
Для начала добавь в ответ что-нибудь, что бы посмотреть, возвращает он хоть что-то или нет.
<?php
$s1 = $_POST['slag_1'];
$s2 = $_POST['slag_2'];
$sum = $s1 + $s2;
echo "ok " . $sum;
?>
Попробуй просто запустить этот скрипт, возможно в нем есть ошибка. Да-да, даже в 4-х строках может быть ошибка.
Потому что без ошибок никто не пишет.

А вообще, я бы предложил тебе использовать возможности jQuery. Код проще будет получаться.
$.ajax({
	type: "POST",
	url: "/summa.php",
	data: 'slag_1=3&slag_2=2',
	success: function(response){
	 alert(response);	
	}
   });
Такой код куда проще на мой взгляд.
  • 1

Надо обсудить предложение. А тут знакосчиталка считает знаки. Про Yii2 написано.



#3 Kuchuluk

Kuchuluk
    Topic Starter
  • Пользователь
  • 333 сообщений
  • Репутация: 5

Отправлено 17 November 2013 - 16:01

echo "ok " . $sum;

переделал код так, заработало
$s1 = $_POST['slag_1'];
$s2 = $_POST['slag_2'];
$s_1 = intval($s1);
$s_2 = intval($s2);
$sum = $s_1 + $s_2;
echo $sum;
не знал, что в PHP требуется обязательное приведение переменной к целочисленному виду для арифметических операций. Вроде всегда так складывалось...
  • 0

#4 fedornabilkin

fedornabilkin
  • Модератор
  • 1132 сообщений
  • Репутация: 193

Отправлено 18 November 2013 - 09:00

не знал, что в PHP требуется обязательное приведение переменной к целочисленному виду

Вообще не обязательно приводить к целочисленному типу.
ПХП не строготипизированный язык.
  • 0

Надо обсудить предложение. А тут знакосчиталка считает знаки. Про Yii2 написано.




Оформление форума – IPBSkins.ru