Nog een moeilijk Jquery-vraagje, ik heb het volgende:


         <script>
$(document).ready(function(){
	setInterval(function(){
		$("#list").load('shared/loadscript.php?draaiboekID=<? echo $draaiboekID; ?>')
    }, 2000);
});
</script>

<div id="list"></div>


Deze jQuery werkt al en laadt de pagina loadscript.php.
Echter wordt de variabel niet meegestuurd. Hoe los ik dat op? Want hij moet bepaalde info laden op die pagina met het juiste $draaiboekID.

<?php
error_reporting(E_ALL);
$itemID= '17';
?>

<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.js"></script>
</head>

<body>
<script type="text/javascript">var itemID= '<?php echo $itemID; ?>';</script>
<script>
$(document).ready(function(){
loadData(itemID);

function loadData(itemID) {
$(document).ready(function(){
    setInterval(function(){
        $("#list").load('shared/loadscript.php?draaiboekID=<? echo $draaiboekID; ?>')
    }, 2000);
});
    $.ajax({
        url: "shared/loadscript.php",
        type: "GET",
        data: {itemID: id},
        cache: false,
        success: function(html){
            $(".result").empty().html(html);
                setTimeout(function () { 
                    loadData(id); 
                }, 3000);
            },
        error:function (xhr, ajaxOptions, thrownError){
            $(".result").empty().html('Error:'+ xhr.status + ' '+ thrownError);
        }    
    });
}
});

</script>
</body>
</html>
Waar is je HTML-element met een class genaamd: result?

Je moet de AJAXresponse wel ergens tonen ;-)

Die load() functie is dubbelop.
Hoe zou jij het doen dan? Want ik weet het echt niet meer... :(
Zorg dat je eenmaal de jQuery ready () function gebruikt waarin je al je jQuery functies in gebruikt.

Je setInterval met je load-functie kan weg. Deze is 'dom' en weet zelf niet of een request namelijk gelukt is. $.Ajax() kan dat overigens wel met zijn 'success' of 'error' events.

Als je het goed hebt gedaan heb je alleen nog binnen de ready je loadData functie over met daarin je ajax() functie.

Dan moet je daarna nog even het HTML-element creëren waarin je jouw data in toont.

Reageren