6
votes

Reste API dans PHP Sortie sur Extension de fichier JSON

Donc, je veux écrire une API de repos dans PHP pour JSON pour la consommation sur l'iPhone, mais aussi beaucoup de sites Web et d'appareils. J'ai le code ci-dessous, lors de votre accès via une instruction GET, renvoie un fichier comme:

1mdi2o3.parpart

Comment puis-je retourner quelque chose comme: users.json xxx < / pré>


1 commentaires

Pouvez-vous montrer un exemple en direct? Le code semble ok.


3 Réponses :



-2
votes

Le problème est la suivante:

header("Content-type: application/json");


6 commentaires

@Wim, ne serait-ce pas textuel / json?


Je venais juste citer l'op ici. Application / JSON Est-ce que je pense que je pense. Peut-être avec text / json Vous pouvez tromper le navigateur dans l'affichage en tant que texte brut, mais dans ce cas text / simple serait équivalent je suppose.


Selon Stackoverflow.com/questions/477816/Le-right -Json-Content-Ty PE Application / JSON est la meilleure option.


En outre, j'utilise text / json et n'a pas de problème sur IE6-8, FF3 et Chrome, mais je ne sais pas sur webkit truc comme l'iPhone.


C'était exactement ce que je cherchais, simple. Merci.


Vous devriez vraiment utiliser le type MIME approprié et le texte / la nature n'est pas. J'utilise Firebug dans Firefox pour tester mes services Web JSON et utiliser console.log pour me montrer les données JSON. C'est un excellent moyen de vérifier que cela fonctionne correctement. Vous constaterez que certains systèmes souhaitent le type de mime approprié ou qu'ils rejettent les données.



10
votes

Pas tout à fait de ce que votre objectif n'est pas tout à fait de votre objectif, mais voici 3 à 4 solutions qui pourraient fonctionner:

Solutions communes h2>

Réécrire h3>

C'est probablement la manière la plus conventionnelle d'obtenir URIS propre pour votre API. Si vous souhaitez que la partie utilisateur de l'utilisateur.json soit dynamique, vous pouvez utiliser MOD_REWRITE (à nouveau en supposant Apache) pour réécrire vos URL à un script de gestionnaire PHP. Si vous allez l'URL de style reposant conventionnel, vous voudrez probablement l'utiliser de toute façon pour atteindre des URL propres / code> des URL séparées. P> xxx pré>

où repose-t-il .php est votre script de gestionnaire PHP. p>

Réécriture d'URL sans mod-réécrit h3>

Si vous ne voulez pas utiliser mod_rewrite, vous pouvez également faire quelque chose comme p>

AddHandler application/x-httpd-php .json


0 commentaires