• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czemu PHP nie odczytuje wysłanej wiadomości json?

42 Warsaw Coding Academy
0 głosów
189 wizyt
pytanie zadane 19 lipca 2018 w JavaScript przez GracjanDogg Użytkownik (840 p.)
            $(document).ready(function(){
                $("#glowny").click(function(){
                    $.post("wyniki.php", {
                        wys: $("#test").val()
                        }, 
                        function(data, status){
                            if(status == "success"){
                                $(".item2").load("wyniki.php");
                                console.log(data + status);
                            }else{
                                console.log("Błąd serwera");
                            }
                    });
                    });
                });
<form action="wyniki.php" method="post" id="con">
            <input type="text" id="test">
            <input type="submit" id="glowny">
</form>

A tutaj skrypt php "wyniki.php"

<script>
    console.log("działa");
</script>
<?php
    $nazwa = $_POST['wys'];
    echo $nazwa;
?>

Próbowałem na wiele sposobów wysłać coś jsonem i wciąż lipa. Pojawia się tylko komunikat Notice: Undefined index: wys. Tak więc co tu nie gra? Z góry dziękuję za pomoc.

1 odpowiedź

0 głosów
odpowiedź 19 lipca 2018 przez hun1er76 Stary wyjadacz (11,960 p.)

Widać właśnie te wiele prób zastosowania, przez co wyszło.. nie wiadomo co. Trzeba się zastanowić czy to ma być zwykłe żądanie czy ajax. Pomijając, że zdarzenie click na inpucie typu submit standardowo odświeża stronę, w funkcji występują po sobie dwa żądania do pliku wyniki.php.

$(document).ready(function() {
    $("#glowny").click(function() {
        $.post("wyniki.php", {
                wys: $("#test").val()
            },
            function(data, status) {
                if (status == "success") {
                    $(".item2").load("wyniki.php");
                    console.log(data + status);
                } else {
                    console.log("Błąd serwera");
                }
            });
    });
});

Pierwsze prawdopodobnie wykona się poprawnie. Natomiast drugie występuje bez atrybutów i to one prawdopodobnie generuje ten błąd.

komentarz 19 lipca 2018 przez GracjanDogg Użytkownik (840 p.)
To chyba nie to, pierwotnie load było do innego pliku, później go zmodyfikowałem na wyniki.php. Po usunięciu linii 8 wciąż pojawia się ten sam błąd. Ale uwaga dobra, będę na to zwracał uwagę w przyszłości.
komentarz 19 lipca 2018 przez hun1er76 Stary wyjadacz (11,960 p.)

Bezpośrednio przed funkcją post:

event.preventDefault();

 

komentarz 19 lipca 2018 przez pablop76 VIP (123,540 p.)

@GracjanDogg,

Gdzie atrybut name='wys' w formularzu, który prubujesz złapać w php.

Podobne pytania

0 głosów
1 odpowiedź 837 wizyt
pytanie zadane 15 września 2021 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 185 wizyt
pytanie zadane 2 marca 2019 w PHP przez veryape Użytkownik (580 p.)
0 głosów
2 odpowiedzi 310 wizyt
pytanie zadane 30 października 2016 w JavaScript przez Filip2248 Dyskutant (8,840 p.)

93,377 zapytań

142,379 odpowiedzi

322,528 komentarzy

62,727 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...