Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme Ajax Unexpected token

    13 août 2018 à 10:21:11

    Bonjour,

    J'ai un soucis avec mon site :

    J'ai une fonction Ajax et lorsque je veux voir mon caddie, j'ai une erreur en JS.

    Hors lorsque je fait un var_dump en php de la fonction que je retourne, j'ai bien des valeurs. Cependant JS me dit que la valeur de la variable est "undefined". 

    // Refresh Cart DropDown Menu Button
    $(document).on('click','#my_cart_btn',function(){
    	$.ajax({
    		type: 'POST',
    		url: base_url+'/app/controllers/caddie.php',
    		async: true,
    		cache: false,
    		dataType: 'json',
    		data : 'isajax=1&refreshCartDropdown=1',
    		success: function(data)
    		{
    			if(data.error == 0)
    				$("#cart_ddm_container").html(data.html_ddm);
    		},
    		error: function (xhr, ajaxOptions, thrownError, data) {
    			console.log('error');
    			console.log(data);
    			console.log(xhr.status);
    			console.log(thrownError);
    		}
    	});
    });
    Voila ce que cela me retourne : 
    {products_arr: {0: "1585", 1: "13330"},…}
    error
    :
    0
    html_ddm
    :
    "<li>
    ↵	<div style="border-bottom:1px solid #eeeeee;padding-bottom:5px;" class="col-xs-12 text-left">
    ↵		<small><strong>derniers produits ajoutés</strong></small>
    ↵	</div>
    ↵	<div class="clearfix" style="height:5px;"></div>
    ↵</li>
    ↵		<li>
    ↵			<a href="#">
    ↵				<small>
    ↵					<span id='qty_ddm_13330_'>1</span> x 					ruban adhesif emballage pp 50mmx66m brun strong					<small><span class="chapier-txt">
    ↵					(réf. 152058)
    ↵					</span></small>
    ↵				</small>
    ↵			</a>
    ↵		</li>
    ↵				<li>
    ↵			<a href="#">
    ↵				<small>
    ↵					<span id='qty_ddm_1585_'>1</span> x 					farde a clip duraclip 6mm rouge					<small><span class="chapier-txt">
    ↵					(réf. 221070)
    ↵					</span></small>
    ↵				</small>
    ↵			</a>
    ↵		</li>
    ↵			<li>
    ↵		<div class="clearfix" style="height:5px;"></div>
    ↵		<div style="color:#666666;background-color:#dddddd;padding-top:5px;padding-bottom:5px;" class="col-xs-12 text-right">
    ↵			<strong>total : <span id='cart_total_ddm'>6,42</span> €</strong>
    ↵		</div>
    ↵	</li>
    ↵	<li class="text-center">
    ↵		<br />
    ↵	</li>
    ↵<li>
    ↵	<form role="form" class="form text-center">
    ↵		<button id="access_cart_button" type="button" class="btn btn-info ">
    ↵			<span class="glyphicon glyphicon-arrow-right" id="show_cart" ></span> accéder au caddie		</button>
    ↵	</form>
    ↵</li>"
    products_arr
    :
    {0: "1585", 1: "13330"}
     

    Code Php : 
    	if(isset($_POST['refreshCartDropdown']))
    	{	
    		$result_refreshCart = array();
    		$prod_sort = $_SESSION['caddie']->articles;
    		krsort($prod_sort);
    		$data_refreshCart['products_arr'] = $prod_sort;
    
    		$result_refreshCart['products_arr'] = $data_refreshCart['products_arr'];
            $result_refreshCart['html_ddm'] = Cortex::loadview('helper/cart/cart_dropdown',$data_refreshCart,true);
    		$result_refreshCart['error'] = 0;
    
    		echo json_encode($result_refreshCart);
    		die();
    	}
    L'erreur : 
    SyntaxError: Unexpected token in JSON at position 0
        at JSON.parse (<anonymous>)
        at m.parseJSON (jquery-1.11.2.min.js:4)
        at Pc (jquery-1.11.2.min.js:4)
        at x (jquery-1.11.2.min.js:4)
        at XMLHttpRequest.b (jquery-1.11.2.min.js:4)
    header.js:22 error
    header.js:23 undefined
    header.js:24 200
    SI quelqu'un sait de quoi cela vient je serais ravis :)
    Merci pour votre aide

    -
    Edité par bob456 13 août 2018 à 10:53:17

    • Partager sur Facebook
    • Partager sur Twitter
      13 août 2018 à 12:06:53

      Pas sûr, mais je pense que le die() en PHP ne fait pas un code HTTP 200, donc tu passes peut-être dans ton callback error.

      De plus, ton retour a l'air de contenir plus que du JSON, c'est assez étrange. En gros, JS n'arrive pas à parser ton JSON. Regarde de ce côté-là.

      • Partager sur Facebook
      • Partager sur Twitter
      Développeur Front-End freelance disponible pour contrats ! En guerre contre l'utilisation abusive de jQuery.
        13 août 2018 à 14:25:47

        Merci de ta réponse.

        Plus surprenant... Tout les queries AJAX su site ne fonctionnaient pas...

        En revenant en arrière dans le code et en corrigeant un problème sur une array PHP, sur une autre page (sans aucun lien avec les autres), tout à refonctionner...

        Pourtant dans le retour en Ajax je n'avais aucun problème (F12) ; cependant les pages ne se mettaient pas à jours (le HTML).

        Par exemple un bouton permettait d'augmenter les quantités, et celui-ci ne fonctionnait plus. En corrigeant le bug, cela refonctionne... Cela relève plus de la magie que de la logique pour moi là :) 

        • Partager sur Facebook
        • Partager sur Twitter

        Probleme Ajax Unexpected token

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown