Goedemiddag,

Ik probeer al een tijdje ajax te laten werken in combinatie met json_encode. Ik heb inmiddels al alles geprobeerd maar heb nu een voorbeeld dat volgens mij wel zou moeten werken. Als ik het zonder json doe werkt het wel, heeft iemand een idee hoe dit zou kunnen komen?

Hier de code van het voorbeeld:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Naamloos document</title>

<?php
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {


	$array = array('test' => '<p>hier een teststring</p>');
	header('Content-type: application/json');
	echo json_encode($array);
	
	//echo 'hier een test string'; dit werkt wel
	exit();

   
}


?>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {

$('.menu').click(function(e){
	
	e.preventDefault();
	
	$.ajax({
		
		type: "GET",
		dataType:"json",
		url:"http://localhost/cms/ajax.php",
		
		success: function(data){
		
			var json = $.parseJSON(data);
			alert(data.test);
			
		},
		error: function(data){
			
			var json = $.parseJSON(data);
			alert(json.error);
			
		},
		
	});
	
});

});

</script>
</head>

<body>
<a href="test" class="menu">Paginabeheer</a>
</body>
</html>




Alvast bedankt!
Gezien dit los van je vraagstelling van dit topic staat is het beter om hiervoor een nieuw topic aan te maken.
Het probleem zit in dit stukje:

        type: "GET",
        dataType:"json",
        url:"http://localhost/cms/ajax.php",
        
        success: function(data){
        
            var json = $.parseJSON(data);
            alert(data.test);
            
        },

Je geeft als datatype json op en gaat daarna parsen van json naar een javascript object. Dat is echter dubbelop. De ajax functie doet dat al voor je. Haal die regel met parseJSON weg en het werkt.
Geweldig, het werkt!!!

@aar
ik zal morgen even een nieuw topic aanmaken

Bedankt allemaal!

Reageren