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!