Nie mogę wydawać się dostawać żadnych opublikowania danych z jQuery ajax do PHP. Żadna z odpowiedzi, które uważam, podaj jasne wyjaśnienie lub rozwiązanie.

JQuery Ajax Post:

$.post("requestlogin.php", {
        SignedIn: false,
        TokenID: 12345
    },
    function(data){
        alert("Data: " + data );
    });

ProśbaLogin.php:

<?php
    $SignedIn = $_POST["SignedIn"];
    $TokenID = $_POST["TokenID"];
    echo $SignedIn . ' - ' . $TokenID;
?>

Jedyną rzeczą pokazującą w polu Alert to "Dane: -".

Czy dane nie są publikowane? Czy PHP jest niezdolny do zobaczenia danych? Czy dane są nieprawidłowo sformatowane na słupek jQuery?

var_dump($_REQUEST); i var_dump($_POST); każdy druk {x2}} ..

Dziękuję za Twój czas.

1
KKlouzal 25 czerwiec 2017, 20:20

3 odpowiedzi

Najlepsza odpowiedź

Był to problem z phpSTORM, który nie jest w stanie przekazać nic, ale uzyskać dane. Przełączony na wampię do rozwoju i rzeczy biegają płynnie!

Powinien zacząć od tej konfiguracji od początku.

1
KKlouzal 26 czerwiec 2017, 12:08

Możesz po prostu użyć:

if((isset( $_POST["SignedIn"]))&&(isset($_POST["TokenID"]))){
  $SignedIn = $_POST["SignedIn"];
  $TokenID = $_POST["TokenID"];
    echo $SignedIn . ' - ' . $TokenID;
}

I zachowaj ten sam kod jQuery:

$.post('requestlogin.php',
    {
        SignedIn: false,
        TokenID: 12345
    },
    function(data){
        alert("Data: " + data );
    });
0
DINA TAKLIT 11 grudzień 2017, 19:46

Spróbuj tego.

$.ajax({
    type:'post',
    url: 'requestlogin.php',
    data: { SignedIn: false,
    TokenID: 12345},
    dataType: 'text', 
    cache: false,
    error: function(data, textStatus, errorThrown){
    console.log(textStatus);},
    success: function (data, textStatus, xmlhttp){
    alert(data); }
});

Twój problem jest najprawdopodobniej fakt, że nie określasz typu danych w metodzie $ .post () i wysyłanie odpowiedzi XMLHTTP jako "dane" w pełnej funkcji, która czytała "obiekt obiektu" lub "", kiedy Używasz go w ciągu. Unikam $ .get i $ .post, ponieważ zawsze mam problemy z nimi osobiście, więc pamiętam tylko prototyp dla $ .ajax, przepraszam lol. Tak czy inaczej debugowanie z tego typu problemem jest łatwe, gdy używasz konsoli w przeglądarce, aby potwierdzić zawartość plików. Jeśli nie wiesz, jak uzyskać dostęp do konsoli w przeglądarce kliknij prawym przyciskiem myszy dowolną przeglądarkę używając, wybierz Inspect / Inspect Code i wybierz kartę Konsoli na wyświetlonym oknie.

0
Geoff Taylor 25 czerwiec 2017, 19:10