ma question est: Comment mon script php peut envoyer des données de type json et reçu de nouveau dans le succès ou la fonction complète?obtenir des données json retour de l'appel ajax
Je tentais d'obtenir this chatfunction pour travailler sur mon site Parce qu'il diddn't travail, je créé une partie réduite au minimum le code de vérifier si elle avait quelque chose à voir avec la méthode JSON.
J'ai seulement testé si je pouvais récupérer un nom de session après le traitement du phpscript Ce que je récupère est "undefined" au lieu de "johndoe".
Je n'ai aucune idée de ce qui pourrait être le problème. De toute évidence, le script a bien fonctionné pour les autres, si vous voyez les commentaires sur la page des créateurs.
ceci est mon testingcode
<?php
session_start();
$_SESSION['username'] = "johndoe" ;// Must be already set
?>
<script type="text/javascript" src="includes/jquery.js"></script>
<script language="JavaScript">
$(document).ready(function(){
$("#testjson").click(function(e){
startJsonSession();
return false;
});
function startJsonSession(){
$.ajax({
url: "jsontest.php?action=startjson",
cache: false,
dataType: "json",
complete: function(data) {
username = data.username;
alert(username);
}
});
}
});
</script>
<?php
//the php script
if ($_GET['action'] == "startjson") { startjsonSession(); }
function startjsonSession() {
$items = '';
/*if (!empty($_SESSION['openChatBoxes'])) {
foreach ($_SESSION['openChatBoxes'] as $chatbox => $void) {
$items .= chatBoxSession($chatbox);
}
}
if ($items != '') {
$items = substr($items, 0, -1);
}*/
header('Content-type: application/json');
?>
{
"username": "<?php echo $_SESSION['username'];?>",
"items": [
<?php echo $items;?>
]
}
<?php
exit(0);
}
?>
merci, Richard
oui, je l'ai déjà regardé dans ce un peu mais avant que je dois changer le code des créateurs, je me demandais s'il pourrait y avoir quelque chose d'autre à faire que les causes ce. Je n'ai vraiment pas hâte de changer son code parce que je ne le comprends pas complètement. Avec la syntaxe heredoc et plus –
Essayez un format JSON comme ceci: {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5} - Donc votre code be {"username": "bob", "items": "apples"} (Continuez et laissez les valeurs codées en dur pour les tests) – Sampson
Également, tirez cette méthode header() pour le moment - commentez-la. – Sampson