Autor Zpráva
martin1312
Profil
Zdravím,

pri použití metódy .load() sa dá ľahko dosiahnúť, aby sa načítal iba určitý element:
.load('nieco.php #data')
Ja však niečo také potrebujem urobiť pri $.ajax(). Na internete som prišiel nato, že sa to dá urobiť spôsobom, že z dát, ktoré metóda vravcia si vyberiem iba môj div. Ale tu nastáva môj problém. Keď to skúšam akokoľvek, nefunguje to podľa očakávaní. (+ ešte potrebujem vybrať iba samostatný text z toho div-u).
Mám pri ajaxe:
success: function(data){
    console.log( $(data).html()); 
    console.log( $(data).text());
    console.log( $(data).find('#vysledok').text());                        
                        
}
ani jedno nevracia to čo potrebujem, teda je jasne že tie prve 2 by to ani nevrátili, ale posledná možnosť vracia (an empty string), čo vôbec nechápem. Viete mi pomôcť?

server pri ajaxovej požiadavke vracia tieto dáta
vsvasvas 
<div>bdbrbrb</div> 
<div id="vysledok">vysledok=1</div>
A ja sa potrebujem dostať ku divu #vysledok, teda ku jeho textu "vysledok=1"

Ďakujem
martin1312
Profil
nikto nevie? :)
prehľadal som kopec stránok ale stále to nejde. Zároveň nechápem, prečo $(data).find('#vysledok').text() nevracia to, čo potrebujem...
Chamurappi
Profil
Reaguji na martina1312:
nechápem, prečo $(data).find('#vysledok').text() nevracia to, čo potrebujem
Nejspíš proto, že hledá přes document.getElementById. Co není v documentu, nejde najít.

Proč si neupravíš nieco.php tak, aby vracelo to, co potřebuješ? Z pohledu prohlížeče přichází AJAXem prostý text, žádný přímý přístup k HTML DOMu odpovědi není. Můžeš si to rozparsovat a pak v tom složitě hledat, ale přijde mi to neefektivní.
martin1312
Profil
ďakujem za odpoveď.
Pôvodne som to mal riešené pomocou JSON, ale keďže free hosting mi pridá ku stránke s php odpoveďou balast, chcem sa ho nejako zbaviť (a okrem toho kôli tomu nefunguje JSON).
Nenapadá ťa, nejaké vhodnejšie riešenie? (okrem zmeny hostingu)
Chamurappi
Profil
Reaguji na martina1312:
ale keďže free hosting mi pridá ku stránke s php odpoveďou balast
Přidává ji do úplně všeho, co se stahuje, nebo jen do toho, co se posílá s Content-Typem text/html?

chcem sa ho nejako zbaviť
Měl by jít vykousnout nějakým dobře nabroušeným regulárním výrazem.
martin1312
Profil
Chamurappi:
Přidává ji do úplně všeho, co se stahuje, nebo jen do toho, co se posílá s Content-Typem text/html?
parada, vyskúšal som pridať hlavičku content type text/plain do spominaného php súboru, a tam to nepridalo. Toto by ma nebolo napadlo. Ďakujem. Zatiaľ mi to stačí iba takto. Regulár nebude potrebný.

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