0
votes

Ajax a obtenu 500 erreurs de serveur internes lors de l'utilisation de JSON_ENCODE ()

J'avais essayé d'utiliser une simple demande Ajax avec JS et PHP. Mon code:

test.js strong> p> xxx pré>

test.php strong> p> xxx P > /p>

<?php
include('../db.php');

echo "this thing will work even though I didn't need";


1 commentaires

Les commentaires ne sont pas pour une discussion prolongée; Cette conversation a été Déplacé pour discuter .


3 Réponses :


1
votes

Vous obtenez une erreur 500 à cause d'une mauvaise syntaxe dans votre fichier php test.php

mettre à jour le code de test.php avec le code ci-dessous xxx

et je ne sais pas que vous utilisez un cadre parce que vous ne fermez pas votre PHP fin de balise fin du fichier?> Assurez-vous de l'effacer aussi.


1 commentaires

La balise de fermeture n'est pas obligatoire, elle n'est pas recommandée s'il s'agit d'un fichier PHP pur.



1
votes

PHP a certaines fonctions intégrées pour gérer JSON.

Les objets de PHP peuvent être convertis en JSON à l'aide de la fonction PHP JSON_ENCODE (): P>

include('../db.php');
header('Content-Type: application/json');

$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";

$myJSON = json_encode($myObj);

echo $myJSON;


0 commentaires

0
votes

Merci à @ Vivek_23 J'ai réalisé que le problème n'était pas de mon code (puisque le code a fonctionné bien dans localhost) mais mon serveur distant. Le PHP dans mon serveur distant n'a pas pris en charge JSON.

à quiconque ayant le même problème: Vous pouvez exécuter xxx

et voir s'il renvoie vrai ou faux . Vous pouvez également exécuter phpinfo () pour voir s'il existe une section où elle a déclaré "JSON Support: activé". Voir Json dans la section "Auteurs de module" ne signifie rien.

Depuis mon serveur distant alimenté par Centos, j'ai téléchargé un package JSON:

miam Installez php-json .x86_64

et ça marche.


0 commentaires