Ajaxos kérés, hibával fut le
Üdv!
Több fórumon is próbáltunk már rájönni mi lehet a gond, de csak nem sikerült megoldani.
Adott egy oldal, ahol bizonyos linkeket, bizonyos div-ekbe akarok betölteni jquery segítésével, de a legtöbb esetben újra tölti mindig, illetve a megadott divbe betölti a kért tartalmat az egész oldallal majd után betölti rendesen is.
Firebug elég érdekes hibákat dob, de nem tudok rájönni mi lehet a gond.
Az alap felépítése az oldalnak, az hogy a #main divbe van a valogat.php ami a kéréseket szétbontja és az alapján tölti be a kívánt tartalmakat.
A js fájl tartalma:
Kód:
$(document).ready(function () {
$('.ajaxload').live("click", function ( e ) {
$('#main').load($(this).attr('href') );
e.preventDefault();
});
});
A tartalmat feltöltöttem ide. Remélem tud valaki segíteni benne. :thumbup:
re: Ajaxos kérés, hibával fut le
Én nem ezt használnám és nem aszinkron módon.
Sőt tovább megyek, nem is használnám a helyedben, gondolván a keresőkre. Ha a keresők be tudják járni az oldalad akkor nincs gáz.
De ha mégis, az AJAX kérésnél már elég csak a szövegdoboz tartalmát betölteni. De ahogy elnéznem neked vissza adja az egész oldalt.
Ezt használd: hXXtp://api.jquery.com/jQuery.ajax/
HTML kód:
strUrl = "/lorem/ipsum.html";
jQuery.ajax({
url:strUrl,
success:function(data){
//feldolgozás
},
async:false
});
neked ott valami ilyesmit kell csinálnod:
PHP kód:
if($ajax):
$tartalom = "Hello világ";
die($tartalom);
endif;
re: Ajaxos kérés, hibával fut le
esetleg valami ilyen hibrid megoldás?
Kód:
$(document).ready(function() {
$("#changeText").click(function() {
$("#textBox").load("valami.html".........
});
});
vagy esetleg ilyen fércelési ötlet:
Kód:
$("field_name").update("New text");
re: Ajaxos kérés, hibával fut le
Ha jól tudom akkor már a keresők támogatják az ajaxos keresést is.
Az érdekes az egészben az, hogy a kért hivatkozás csak egy adott tartalmat ad elvileg vissza.
Szóval megadom neki, hogy http://domain.hu/valami akkor a valogat.php megkeresi a valami bejegyzést az adatbázisban majd megmondja, hogy mire mutat. PL: tartalom.php&tipus=1&id=23
A php fájlt includolja és a többit meg változókká alakítja, ezért nem is értem, hogy miért tölti be az egész oldalt ismét.
Idézet:
arth2o eredeti hozzászólása
Én nem ezt használnám és nem aszinkron módon.
Sőt tovább megyek,
nem is használnám a helyedben, gondolván a keresőkre. Ha a keresők be tudják járni az oldalad akkor nincs gáz.
De ha mégis, az AJAX kérésnél már elég csak a szövegdoboz tartalmát betölteni. De ahogy elnéznem neked vissza adja az egész oldalt.
Ezt használd: hXXtp://api.jquery.com/jQuery.ajax/
HTML kód:
strUrl = "/lorem/ipsum.html";
jQuery.ajax({
url:strUrl,
success:function(data){
//feldolgozás
},
async:false
});
neked ott valami ilyesmit kell csinálnod:
PHP kód:
if($ajax):
$tartalom = "Hello világ";
die($tartalom);
endif;
re: Ajaxos kérés, hibával fut le
A feltöltött js nem jó, mert nem ez van amit bemásoltál ide a topicba:
Idézet:
speeedfire eredeti hozzászólása
Üdv!
A js fájl tartalma:
Kód:
$(document).ready(function () {
$('.ajaxload').live("click", function ( e ) {
$('#main').load($(this).attr('href') );
e.preventDefault();
});
});
hanem ez:
Kód:
$(document).ready(function () {
$('.ajaxload').live("click", function (e) {
$('#main').load($(this).attr('href'), function () {
e.preventDefault();
});
});
});
És itt bizony ha jól tévedek, nem jó helyen van a preventDefault, azért tölti újra az egészet.
t4p
re: Ajaxos kérés, hibával fut le
Folyamatosan próbálkozok vele, azért lehet, hogy jelen pillanatban most mást ír ki.
Idézet:
t4p eredeti hozzászólása
A feltöltött js nem jó, mert nem ez van amit bemásoltál ide a topicba:
hanem ez:
Kód:
$(document).ready(function () {
$('.ajaxload').live("click", function (e) {
$('#main').load($(this).attr('href'), function () {
e.preventDefault();
});
});
});
És itt bizony ha jól tévedek, nem jó helyen van a preventDefault, azért tölti újra az egészet.
t4p
re: Ajaxos kérés, hibával fut le
Kód:
<script type="text/javascript">
$(document).ready(function(){
$("#ajaxhely").click(function(){
$("#ajaxhely").load("ajaxoslekeres.php?v=oldalamikell").ajaxComplete(function(event,request, settings){
$(document).ready(JT_init);
});
});
});
</script>
<div id="ajaxhely">kattints ide</div>
Kattintás után az ajaxhely div-be behelyezi a meghívott ajaxos php tartalmát.