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

Wysłanie zmiennej js do php przy użyciu ajax i jquery

0 głosów
357 wizyt
pytanie zadane 30 października 2016 w JavaScript, jQuery, AJAX przez niezalogowany

Witam mam pewną stronę na której chciał bym wysyłać stosunkowe dość małe zmienne do php, by tam włożyć je do zmiennej $_SESSION by po ewentualnym wyjściu stan strony został zapisany. Wszystko już zrealizowałem czyli pobierania informacji z php do js przy użyciu $.ajax Natomiast mam problem z odwrotnym działaniem nie mam pojęcia jak wysłać  coś od js do php. wymyśliłem takie coś ale nie działa.

    $.ajax({
        type: "POST",
        url: "jakistamplik.php",
        dataType : 'json',
        data: {
            zmienna1 : 'przykladowytext',
            zmienna2 : 210  //przykladowa liczba
        },
        success: function(json) {
            console.log(json)
        },
        error: function() {
            console.log( "Brak połączenia");
        }
    });

 

natomiast w php jest tak

<?php
$zmienna1 = $_POST['zmienna1'];
$zmienna2 = $_POST['zmienna2'];

$result = array();
$result['zmienna1'] = $zmienna1;
$result['zmienna2'] = $zmienna2;

echo json_encode($result); 

 

no i w konsoli zwraca "Brak połączenia" 

a w php zwraca


Notice: Undefined index: zmienna1 in  on line 2

Notice: Undefined index: zmienna2 in  on line 3
{"zmienna1":null,"zmienna2":null}

1 odpowiedź

0 głosów
odpowiedź 30 października 2016 przez Ehlert Mędrzec (165,080 p.)

Js zamień na:

error: function(jqXHR, textStatus, errorThrown) {
  console.log(textStatus, errorThrown);
}

PHP na:

$result = [ //nowsza składnia
"zmienna1" => $zmienna1,
"zmienna2" => $zmienna2,
]

Zobacz co siedzi w błędach.

komentarz 30 października 2016 przez niezalogowany
consola nie zwraca już błędu, zwraca success. Natomiast php trochę błędów znikło ale nadal zostało

Notice: Undefined index: zmienna1 in  on line 2

Notice: Undefined index: zmienna2 in on line 3
{"zmienna1":null,"zmienna2":null}
komentarz 30 października 2016 przez Ehlert Mędrzec (165,080 p.)

zbadaj zmienne w PHP:

if (array_key_exists("zmienna1", $_POST) &&
    array_key_exists("zmienna2", $_POST)) {
    $result = [/*...*/];
    echo json_encode($result);
} else {
    $result = [/*...*/];
    echo json_encode($result);
}

 

komentarz 30 października 2016 przez niezalogowany

Jeśli chodziło o

<?php
if (array_key_exists("zmienna1", $_POST) &&
    array_key_exists("zmienna2", $_POST)) {
    $result = [
        "zmienna1" => $zmienna1,
        "zmienna2" => $zmienna2
    ];
    echo json_encode($result);
}else{
    $result = [/*...*/];
    echo json_encode($result);
}

to konsola zwraca:

parsererror SyntaxError: Unexpected token < in JSON at position 0(…)

a php wyświetla []

Podobne pytania

0 głosów
0 odpowiedzi 317 wizyt
+1 głos
3 odpowiedzi 532 wizyt
0 głosów
2 odpowiedzi 222 wizyt
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

64,868 zapytań

111,330 odpowiedzi

234,216 komentarzy

46,731 pasjonatów

Przeglądających: 205
Pasjonatów: 4 Gości: 201

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...