Autor Zpráva
final
Profil *
Zdravím,..
Potrebujem poradiť ohľadom jquery funkcií ajax(), kódy:
html:
<input type='button' id='napisat' onClick='napisat()' value='Odoslať'>
js:
function napisat() {
                        var b=50;
        $.ajax({
            url: "subor.php",    
            type: "POST",        
            data: "a="+b,          
            cache: false,
                        success: function (odpoved) {
                        if (odpoved == "ok"){$(body).html('funguje');}
                }        
        });
    }
subor.php:
<?php
echo "ok";
?>

Kde je problém?ďakujem za pomoc
Medvídek
Profil
final:
Neni problem v tom, že není definován dataType?
Co jinak na to konzole? Zkoušel ste co vypadne ve firebugu?
final
Profil *
:D tak ďaleko ešte nie som .. som začiatočník skôr,dataType sa kde definuje?firebug ani neviem čo je :)
Medvídek
Profil
final:
http://api.jquery.com/jQuery.ajax/
dataTypeString
Default: Intelligent Guess (xml, json, script, or html)

Firebug je nástroj pro Firefox, tam by si viděl, jestli ti soubor subor.php správně vrací to, co požaduješ a jestli ho načítáš na správném místě.

Existuje opravdu soubor na adrese, kde ho načítáš? tj na stejném místě jako je soubor ve kterém je includován tento javascript?
final
Profil *
dal som dataType: html
bez úspechu :( tomu firebugu nerozumiem,mám index.php kde je <script src=index.js></script> a tlačidlo, všetko je v poriadku
pcmanik
Profil
final:
Daj nam odkaz na zivu ukazku, datatype netreba nastavovat, urobi sa to same.
Medvídek
Profil
pcmanik:
datatype netreba nastavovat, urobi sa to same

Ale je lepší to vyplnit. v PHP můžeš mít taky undefinned variable, ale přijde mi čistější to vyplnit.

final:
Jak psal pcmanik, nezbývá než sem dát živou ukázku.
final
Profil *
Ďakujem za pomoc,ale "rozpitval" som kód na časti všetko fungovalo dal som to dokopy a ide to a pritom je to to isté čo je v mojom 1. príspevku.neviem kde bola chyba ale hlavne že to už ide :)
final
Profil *
Zdravím zase neviem prečo ale zase mi to nefunguje :( kód:
index.php
<script src="jquery-1.3.1.min.js"></script>
<input type=button onClick="funkcia()" value=odoslať>
<script>
var b=50;
function funkcia() {
        $.ajax({
                url: "stranka.php",    
            type: "POST",        
            data: "a="+b, 
            cache: false,
                        success: function (odpoved) { 
                            alert (odpoved);
                           if (odpoved == "ok"){ alert ("funguje");}
                }        
        });
    }
</script>
stranka.php
<?php
echo "ok";
?>
Po stlačení na tlačidlo mi vypíše ok čiže všetko prebehne dobre ale potom je podmienka že ak odpoved je ok tak nech mi vyskočí že funguje prečo mi nič nevyskočí??
Začínam už prichádzať o nervy vie niekto kde je chyba?

ďakujem moc.


ak chcete živú ukážku:

http://ukazkajpw.8u.cz/

po kliknutí v hláške sú aj reklamy ale na konci si všimnite ok ibaže žiadnu ďalšiu hlášku už nevypíše :/
fandaa
Profil
final:
Endora si do tebou posílaného dokumentu (stranka.php) zřejmě automaticky vkládá i svou reklamu, proto se proměnná odpoved nebude rovnat ok, neboť jsou součástí i ty zdrojové kódy reklamy. Zkus to na nějakém hostingu bez reklam, mělo by to fungovat.

Editace: Případně zde jsem našel jiné řešení - http://www.php.cekuj.net/ajax/freehosting-na-endore-a-ajax
pcmanik
Profil
final:
Pouzivaj nove jQuery, uz je aktualne verzia 1.7.1.

A miesto onlick priamo v kode pouzi priradenie udalosti na element.
Radek9
Profil
pcmanik:
A miesto onlick priamo v kode pouzi priradenie udalosti na element.
Bude to mít absolutně stejný efekt.
pcmanik
Profil
Radek9:
Efekt ano, ale z dlhodobeho hladiska je to tak ovela jednoduchsie, ako sa potom prehrabavat kodom a zistovat odkial sa ta funkcia napisat vola.
final
Profil *
fandaa:
to nie je endorou tam som to dal len ako príklad,ale skopirujte si to na vašu stránku a uvidíte že tú podmienku odignoruje

Tak neviem čo s tým mám robiť :(
pcmanik
Profil
final:
Mas obidva subory ulozene v rovnakom kodovani?
final
Profil *
Áno
Kcko
Profil
final:
Jak Ti může vyskočit OK když tam není samotné OK ale ta reklama ... nebo co to je viz. http://ukazkajpw.8u.cz/stranka.php
fandaa
Profil
final:
Je to Endorou, sám ji používám.

Soubor stranka.php přepiš na následující.
<?php 
header('Content-Type: text/plain');
echo "ok"; 
?>

Sám jsem to na Endoře odzkoušel a funguje.

Kcko:
Jak jsem napsal již v příspěvku [#10].
final
Profil *
Dal som to tam ale teraz za tým ok ešte niečo výpiše odkial to má?
http://ukazkajpw.8u.cz/
Kcko
Profil
fandaa:

Já to chápu, zopakoval jsem to, protože zakladateli topicu to očividně stále nedochází ;-)
fandaa
Profil
final:
V tom případě si zkontroluj jestli v tom souboru nemáš nějaký prázdný řádek, či cokoliv jiného.

Kód, který jsem použil a funguje:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

   <input type=button onClick="funkcia()" value=odoslat>
<script>
var b=50;
function funkcia() {
        $.ajax({
                url: "stranka.php",    
            type: "POST",        
            data: "a="+b, 
            cache: false,
                        success: function (odpoved) { 
                            alert (odpoved);
                           if (odpoved == "ok"){ alert ("funguje");}
                }        
        });
    }
</script>

<?php 
header('Content-Type: text/plain');
echo "ok"; 
?>

Dále si znovu překontroluj kódování obou souborů a zkus je překódovat třeba pomocí PSPadu na UTF8.

Ukázka: http://fandaa.name/test.php

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0