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


Пользователь месяца
TimurR TimurR 1-й за Август
Очков активности: 726 3 темы, 35 сообщений, 11 баллов репутации
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 162 1 тема, 15 сообщений, 6 баллов репутации

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

    Ixman (o5cat.ru)
    Очков активности: 72 0 тем, 8 сообщений, 6 баллов репутации

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

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

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

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

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

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

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

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

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

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

  • Фотография Developer
    #8

    Developer
    Очков активности: 21 1 тема, 11 сообщений, 1 балл репутации

  • Фотография fedornabilkin
    #9

    fedornabilkin (zaka4ano.ru)
    Очков активности: 18 0 тем, 4 сообщения, 3 балла репутации

  • Фотография Игорь Ку
    #10

    Игорь Ку (copytactic.ru)
    Очков активности: 15 0 тем, 5 сообщений, 2 балла репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 20.09.2018
Топ 5 участников по репутации


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

#1 Kuchuluk

Kuchuluk
  • Пользователь
  • 329 сообщений
  • Репутация: 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
  • Модератор
  • 1127 сообщений
  • Репутация: 188

Отправлено 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
  • Пользователь
  • 329 сообщений
  • Репутация: 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
  • Модератор
  • 1127 сообщений
  • Репутация: 188

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

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

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

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




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