Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Принятие запросов из PHP (https://javascript.ru/forum/server/29887-prinyatie-zaprosov-iz-php.html)

Severtain 15.07.2012 18:37

Принятие запросов из PHP
 
При возвращении значений из $_POST запроса необходимо обрабатывать возвращаемые данные..
для числе можно использовать
parseInt()

Что делать если нужно принять текст! Ибо
alert (answer); //'result true'
var a = answer;
if (a='result true) alert ('work'):
не работает!
кто сталкивался с таким? что делать?

vadim5june 15.07.2012 18:40

if (a=='result true') alert ('work'):

Severtain 15.07.2012 19:16

Сори, это моя уже ошибка! но это и подразумевалось! так он не работает=)

lord2kim 15.07.2012 20:17

Цитата:

Сообщение от Severtain (Сообщение 189053)
Сори, это моя уже ошибка! но это и подразумевалось! так он не работает=)

if (a == "'result true'") alert ('work');

в конце строки у вас двоеточие : стоит вместо точки с запятой ;
и возможно подразумевается именно строка с кавычками...
какая-нибудь ошибка появляется вообще?

Severtain 15.07.2012 20:28

Ошибки нет!
Вот запрос
$.post(
"ajax.php",
{"n":1},
function(answer){
$('#exit').html(answer);
var a = answer;
if (a=="'Выход'") alert ('work');
});

вот ответ
if ( $_POST['n']==1) print_r ('Выход');
в <div id='exit'> выводит Выход
при alert (a); выводит Выход
при сравнении не видит все равно!

vadim5june 15.07.2012 20:47

a alert(a.length) что покажет?

Severtain 15.07.2012 20:51

7мь

Deff 15.07.2012 20:52

Severtain,
Цитата:

Сообщение от Severtain
при сравнении не видит все равно!

:)
А нафиг двойные кавычки ?
if (a=="'Выход'") alert ('work');


Почему не так ?
if (a=="Выход") alert ('work');

Severtain 15.07.2012 20:54

Даже если echo "Выход";

vadim5june 15.07.2012 20:54

Цитата:

Сообщение от Severtain (Сообщение 189098)
7мь

значит кавычки но важно какие попробуйте внутренние двойные
if (a=='"Выход"') alert ('work');

Severtain 15.07.2012 20:55

Цитата:

Сообщение от Deff (Сообщение 189099)
Почему не так ?
if (a=="Выход") alert ('work');

Потому что так тоже нету результата!

Severtain 15.07.2012 20:56

Цитата:

Сообщение от vadim5june (Сообщение 189102)
значит кавычки но важно какие попробуйте внутренние двойные
if (a=='"Выход"') alert ('work');

Uncaught SyntaxError: Unexpected string

lord2kim 15.07.2012 20:57

Цитата:

Сообщение от Severtain (Сообщение 189098)
7мь

т.е. там определенно еще что-то есть...

Severtain 15.07.2012 20:58

Да! но вот так тоже не хочет
if (a=='"Выход"')

Severtain 15.07.2012 20:59

Можно отрезать конечно первую и последнюю букву! но все же может есть более быстрый и безболезненный путь!

lord2kim 15.07.2012 20:59

Цитата:

Сообщение от Severtain (Сообщение 189107)
Да! но вот так тоже не хочет
if (a=='"Выход"')

при выводе
alert(a);

он точно выводит Выход без всяких кавычек, пробелов и т.п. ?

vadim5june 15.07.2012 21:01

Цитата:

Сообщение от Severtain (Сообщение 189104)
Uncaught SyntaxError: Unexpected string

if(a=='\"Выход\"') alert('work');

Severtain 15.07.2012 21:03

lord2kim,
да

Severtain 15.07.2012 21:04

vadim5june,
нет! без результатно!

Severtain 15.07.2012 21:05

lord2kim,
может необходимо делать какую то предварительную обработку!

Severtain 15.07.2012 21:05

Severtain,
для получения чисел используют parseInt ()

lord2kim 15.07.2012 21:07

Цитата:

Сообщение от Severtain (Сообщение 189112)
lord2kim,
да

хм...ну попробуйте вывести строку a посимвольно

vadim5june 15.07.2012 21:09

alert(a.split('').join('*'))
увидите все символы

Severtain 15.07.2012 21:12

Перед слово идет два пустых места
то есть
1,ничего (даже скобочен)
2.ничего
3.В
4.ы
5.х
6.о
7.д

в php
echo "Выход";
никаких пробелов нету

Severtain 15.07.2012 21:13

vadim5june,
вывело
*
*В*ы*х*о*д

lord2kim 15.07.2012 21:14

Цитата:

Сообщение от Severtain (Сообщение 189119)
vadim5june,
вывело
*
*В*ы*х*о*д

перевод строки...?

Deff 15.07.2012 21:14

Severtain,
:) Кавычек -нет = занчит ставьте кавычки однократно

Или проще
if (a.indexOf("Выход")!=-1) alert ('work');

vadim5june 15.07.2012 21:15

первые два какието непечатные символы-или один пробел и непечатный символ(перевод строки)

Severtain 15.07.2012 21:15


Severtain 15.07.2012 21:17

http://i5.pixs.ru/storage/1/9/3/ipng...68_5275193.png

Severtain 15.07.2012 21:21

vadim5june,
я не знаю! в любом случае он возвращает не так как мне надо! Deff,
вряд ли так получится! результат конечно дает!

Severtain 15.07.2012 21:22

Deff,
а может и буду его использовать!

vadim5june 15.07.2012 21:31

Цитата:

Сообщение от Severtain (Сообщение 189125)
vadim5june,
я не знаю!

посмотрите
alert(a.charCodeAt(0));alert(a.charCodeAt(1));

Severtain 15.07.2012 21:43

vadim5june,
10 и 10

vadim5june 15.07.2012 21:54

Цитата:

Сообщение от Severtain (Сообщение 189133)
10 и 10

10 перевод строки
можете очистить c помощью регулярных выражений
но вообще нужно Вам понять откуда они появились

Severtain 15.07.2012 23:10

какие функции в php ему предшествуют!

Severtain 20.07.2012 20:41

Всем привет! Попробую продолжить тему!
То же самое, что мы решали ранее, только теперь
надо вернуть одну или несколько переменных из $post запроса.
Т.е. например php файл возвращает
<?
echo ('x=1;');
echo ('ig=234;');
?>
кто нибудь с этим сталкивался?

devote 21.07.2012 19:16

$out = array(
  "x" => 1,
  "ig" => 234,
);
echo json_encode( $out );

JS:
$.ajax({
    url: "ajax.php",
    data: { n: 1 },
    type: "post",
    dataType: "json",
    success: function( data, textStatus, xhr ) {
        alert( data.x );
        alert( data.ig );
    }
});


Часовой пояс GMT +3, время: 13:49.