2010-10-16 14 views
0

Quel est le problème avec Ajax (jQuery) et Php? Pourquoi mon code ne fonctionne pas?Quel est le problème avec Ajax (jQuery) et Php

code jQuery:

$(document).ready(function(){ 

    $.ajax({ 
    type: "GET", 
    url: "Tags.php", 
    dataType: "xml", 
    success: function(xml) { 
    alert("success"); 
    } 
    }); 

}); 

code tags.php

<?xml version="1.0" encoding="UTF-8"?> 
<tages> 
<?php echo "<tag>hello</tag>"; ?> 
</tages> 
+1

Y avait-il une question ici? –

Répondre

0

tags.php est pas une URL. Vous avez probablement besoin d'une URL complète: http://www.foo.com/Tags.php.

L'utilisation de tous les noms de fichiers en minuscules est une bonne idée.

+0

Oui, il s'agit d'une URL relative. – Petah

+0

Cela ne fonctionne pas :) – faressoft

0

Désolé, mais "Mon code ne fonctionne pas" n'est pas assez précis. En quoi cela ne fonctionne-t-il pas? Avez-vous essayé d'afficher la sortie de Tags.php directement dans le navigateur pour voir qu'il contient ce que vous attendez qu'il contienne? Une chose à garder à l'esprit, cependant, est que les balises PHP courtes causent des problèmes avec le préambule XML, car les deux utilisent <? pour marquer où ils commencent. Éteignez les balises courtes, ou echo() le préambule XML. La première solution est la préférée.

Sinon, sans plus d'informations, je ne peux pas aider.

+1

Il n'est pas préférable de désactiver les balises courtes, car de nombreux scripts tiers utilisent des balises courtes et vous casserez la compatibilité. – Petah

+0

Mais comme l'OP l'a découvert, les balises courtes provoquent des problèmes avec tout ce qui commence par un préambule XML. En outre, si vous écrivez du code qui utilise de courtes balises et le déplacez vers un serveur où elles sont désactivées, vous casserez la compatibilité. Les étiquettes courtes peuvent être activées ou désactivées pour un serveur donné, tandis que les étiquettes normales sont toujours garanties. Enfin, si je comprends bien la situation, les étiquettes courtes devraient se déprécier à partir de PHP 6. – GordonM

1

vous devez

<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>

au lieu de

<?xml version="1.0" encoding="UTF-8"?>

parce que le <? va s'interprété par PHP et provoquer une erreur de syntaxe.