Diskuze: Ajax, vrácení hodnoty z echa
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Čus,
z hlavy ti neporadím, ale zkus se podívat na funkci done() nebo complete()
nebo tak něco.
Víc podrobností určitě najdeš na http://api.jquery.com/jquery.ajax/.
síce som tvoju otázku nepochopil (skús ju sformulovať syntakticky správne), ale keď chceš získané dáta zo serveru nejako využiť pomocou javascriptu tak vo funkcii $.ajax pridaj riadok "success" : funkcia
$.ajax({
type: 'POST',
url: 'kontrola.php',
data: $(this).serialize()
success: function(data) {
// spracuj data
}
error: function(data) {
// toto sa spustí keď na servery vrátiš napríklad false
}
})
Já používám u pár projektů toto a když chceš pouze výpis, tak to stačí.
$.post('cesta/k/php/souboru', {
data: $(this).serialize(),
function(result) {
//tu jde výsledek z php souboru
});
Nejsem si jist tím data řádkem, jelikož to nepoužívám, ale takhle ti vyhodí, co potřebuješ.
Keď sa pýtaš na php kód tak nechápem prečo si to napísal do fóra s javascriptom, ale nevidím v tvojom kóde problém. Možno skús namiesto echa to vracať cez return.
Keď sa pýtaš na javascript tak na to som ti už odpovedal. V tej funkcii success spracuj tie data, ktoré sú ako parameter tej funkcie. Mohlo by to vyzerať napríklad takto:
success: function(data) {
$("#miesto-pre-obrazok").append(data);
}
Já nevím co dělám zle, je to asi tím že z JS neumím.
S php problém není. Je to tím JS.
Nyní to mám takto:
<form id="userForm">
<input type="hidden" value="<?php echo $result['Web']; ?>" name="kontrola">
<input type='submit' value='Submit' />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
<script>
$(document).ready(function(){
$('#userForm').submit(function(){
$.ajax({
type: 'POST',
url: 'kontrola.php',
data: $(this).serialize()
success: function(data) {
$("#miesto-pre-obrazok").append(data);
}
})
return false;
});
});
</script>
Ale ne jen že to nevypíše to echo z php ale ještě to navíc refreshne stránku a přidá to do url v adresním řádku ještě obsah
<input type="hidden" value="<?php echo $result['Web']; ?>" name="kontrola">
Prosím Vás jak to tedy mám mít správně abych odeslal ten form, bez
refreshe stránky se zpracoval php a ukázal se výsledek z php z určitého
echa podle výsledku.
Děkuji za polopatickou odpověď protože já jsem nyní úplně mimo.
Skús takto
<form id="userForm">
<input type="hidden" value="<?php echo $result['Web']; ?>" name="kontrola">
<input type='submit' value='Submit' />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
<script>
$(document).ready(function(){
$('#userForm').submit(function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: 'kontrola.php',
data: $(this).serialize()
success: function(data) {
alert(data) // Vypíše data zo serveru do vyskakovacieho okna
}
})
return false;
});
});
</script>
Tak zde je možné zkusit: http://country.funsite.cz/zobraz_link.php?…
Použil jsem přesně to co si mi napsal:
<form id="userForm">
<input type="hidden" value="<?php echo $result['Web']; ?>" name="kontrola">
<input type='submit' value='Submit' />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
<script>
$(document).ready(function(){
$('#userForm').submit(function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: 'kontrola.php',
data: $(this).serialize()
success: function(data) {
alert(data) // Vypíše data zo serveru do vyskakovacieho okna
}
})
return false;
});
});
</script>
ako to, že nie ... vyzerá to tak, že v php máš nejaký cyklus ktorým vypisuješ albumy a pre každý jeden album vypíšeš aj formulár + skript
a takto to mám ne? Ve formuláři se pak mění jen
<?php echo $result['Web']; ?>
Takže pro každé album je každý formulář jiný. Nevím jak jinak vyřešit aby byl formulář pro každé album jiný.
No veď a to je zle, že to tak máš, veď nebudeš robiť pre každý
formulár jeden skript
Nieje to ideálne ale formulár môžeš mať rôzny pre každé len im daj
rôzne id, a skript urob jeden pre celú stránku.
Inak tá stránka je celá divná, kukni aký pozdrav som ti tam nechal
Ale to máš problém v php a nie javascriptu, že to vypisuješ 10x ... ani
nechápem prečo vypisuješ skript v php niekde v cykle
Celkovo je to zle ... máš tam SQL Injection aj XSS ešte aj chyby vypisuješ,
keby sa mi chcelo tak sa s tým pobavím viac
Zobrazeno 17 zpráv z 17.