Mam dziwny problem. Mam sobie skrypt taki skrypt:
Kod
$.ajax
({
type: "POST",
url: "./_sys/php/check_next.php",
datatype: 'json',
data:
{
formularz: next_form,
wyp: wp,
dane: exp
},
success : function(odp2)
{
if (next_form == 1)
{
wp = odp2;
next_form = 2;
}
else
{
alert(odp2); //i tu jest problem
if(odp2 == "4")
{
next_form = 4;
}
else
{
alert("co jest grane: " + odp2 + "?");
}
}
wczytaj(next_form);
}
});
({
type: "POST",
url: "./_sys/php/check_next.php",
datatype: 'json',
data:
{
formularz: next_form,
wyp: wp,
dane: exp
},
success : function(odp2)
{
if (next_form == 1)
{
wp = odp2;
next_form = 2;
}
else
{
alert(odp2); //i tu jest problem
if(odp2 == "4")
{
next_form = 4;
}
else
{
alert("co jest grane: " + odp2 + "?");
}
}
wczytaj(next_form);
}
});
Miejsce pojawiania się problemu zaznaczyłem komentarzem. Odpowiedź z php alert wyświetla jako 4. Próbowałem odp2 podstawić bezpośrednio do next_form ale nie wywoływało funkcji wczytaj (właściwie wywoływało ale skrypt nie traktował tego 4 jako 4). Dlatego zrobiłem w ten sposób by sprawdzić co jest w odpowiedzi i mimo iż php odpowiada "4" warunek reaguje jakby odpowiedź php była inna (alert wyświetla "co jest grane: 4?"). Poniżej dam jeszcze fragment kodu php.
Kod
<?php
$tab = $_POST['dane'];
$form = $_POST['formularz'];
$wyp = $_POST['wyp'];
...
$wynik = explode("^", $tab);
if($wynik[2] == "1" || $wynik[2] == "3")
{
echo(4);
}
?>
$tab = $_POST['dane'];
$form = $_POST['formularz'];
$wyp = $_POST['wyp'];
...
$wynik = explode("^", $tab);
if($wynik[2] == "1" || $wynik[2] == "3")
{
echo(4);
}
?>
Dodam, że już próbowałem echo json_encode ale problem dalej się pojawiał. Mam w skrypcie drugą funkcje która komunikuje się z php i tam wszystko działa normalnie.