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


Пользователь месяца
magnet magnet 1-й за Январь
Очков активности: 621 0 тем, 69 сообщений, 6 баллов репутации
Сайт: rbfxdirect.com
ТОП самых активных за этот месяц
  • Фотография BLIK
    #1

    BLIK
    Очков активности: 418.5 0 тем, 31 сообщение, 9 баллов репутации

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

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

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

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

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

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 315 Вне конкурса за определение пользователя месяца

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

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

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

    Mandarin
    Очков активности: 210 0 тем, 28 сообщений, 5 баллов репутации

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

    r0mZet (rz-style.ru)
    Очков активности: 102 0 тем, 17 сообщений, 4 балла репутации

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

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

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

    WGN (worldgamenews.com)
    Очков активности: 39 0 тем, 26 сообщений, 1 балл репутации

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

    Rodiola
    Очков активности: 31.5 0 тем, 21 сообщение, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.12.2018
  • Яндекс выдача: 16.02.2019
Топ 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
  • Модератор
  • 1134 сообщений
  • Репутация: 194

Отправлено 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
  • Модератор
  • 1134 сообщений
  • Репутация: 194

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

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

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

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




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