Tämäkin todennäköisesti selviää itsestään, mutta siitäkin huolimatta pitää yrittää. Minulla on jQuery ajax-kutsu, joka palauttaa jostain syystä kaksi kertaa tulokset. Tämä on nyt vähän hankalaa, koska systeemi on niin monimutkainen, mutta yritetään.
Ekaksi Ajax-kutsu:
$(document).ready(function() { $('.calendarcontrolprev').click(function(e){ e.preventDefault(); $.post( 'ajaxshell.php', {moduleId: 11}, function doStuff(data){ $("#side").append(data); }, "html" ); }); });
Käytin appendia tässä kohtaa tarkoituksella ihan vaan nähdäkseni mitä skripti palauttaa.
Sitten php-osastoa, eli ajaxshell.php:
<?php //require_once("system/functions.php"); //$moduleId = intval($_POST['moduleId']); //$as = new AjaxShell($moduleId); //echo $as->module->render("ajaxMode"); echo "Laa";
Kommentoin tuosta pois sen miten se "oikeasti" toimii. "Laa" tulostuu kahdesti, eli jokin mättää js-puolella. Help, anyone?
EDIT: Ratkesi! Ongelma oli selektorissa: sattui olemaan kaksi elementtiä samalla selektorilla, niin tehtiin sama kahteen kertaan.
Toinen ongelma silti esiintyy. Ajax-kutsu palauttaa myös sen elementin, johon selektori takertuu ja suorittaa ajax-kutsun. Mutta nähtävästi jotain muuttuu matkalla, eikä jQuery enää tartu kyseiseen elementtiin. Se kun vielä selviäisi että miksi ja miten, niin se olisi hienoa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.