Witam.
Trochę szukałem i zdaje mi się, że nie znalazłem rozwiązania mojego problemu na tym forum, więc sam piszę post. Piszę formularz, który wysyła dane przez $.post() albo $.ajax() metodą POST.
Samo wysyłanie przebiega pomyślnie i kod PHP jest realizowany poprawnie, lecz wiadomość zwrotna z serwera np. echo "Działa, wysłane dane to ".$_POST['dane']; jest błędna. Funkcja, która jest odpowiedzialna za obsłużenie wiadomości z PHP wyświetla źródło obecnej strony, a wiadomość tak jakby przepadała.
Wydaje mi się, że doszedłem do tego, ponieważ na mojej stronie część elementów jest przetrzymywana w zmiennych w PHP, a przy załadowaniu strony są one po prostu wyświetlane (To pomaga utrzymać mi ład w kodzie i ułatwia edycję tych elementów), zakomentowanie tych części kodu, powoduje, że kod części z tych elementów nie pojawia się w wiadomości zwrotnej. Dodatkowo są także ładowane dane z bazy danych np. pliki, bądź jakieś linki, one nie są wyświetlane przez funkcję zwracającą wiadomość (Sam nie wiem dlaczego, ponieważ są ładowane w tym samym czasie). Jeśli coś jest niejasne proszę pisać. Dodaję ScreenShota z wynikiem i kod funkcji. Pozdrawiam.
Kod funkcji odpowiedzialnej za obsługę AJAXa przez JQuery:
function postEditFile(IDFile, Title, Path)
{
Title = $("input[name=name]").val();
Path = $("input[name=path]").val();
/*$.ajax({ //Tu jest rozwiązanie za pomocą funkcji $.ajax();
type: "POST",
url: 'EditFile.php',
data:
{
id: IDFile,
name: Title,
path: Path
},
error: function()
{
alert("błąd");
},
success: function(data){
alert(data);
}
});*/
$.post("EditFile.php",
{
id: IDFile,
name: Title,
path: Path
},
function(data)
{
alert("Data: " + data );
});
}
Kod PHP z elementami strony (przykładowy):
Zmienne.php:
<?php
$head = "<script src="script.js"></script>
<script scr="menu.js"></script>";
?>
download.php:
<?php
require_once "Zmienne.php";
?>
<html>
<head>
<?php
echo $head;
?>
</head>
<body>
</body>
</html>
A tu jest SS:
