1. Je souhaite envoyer du ajax et utiliser php pour renvoyer des données json, mais même la chaîne "Hellow world" ne peut pas être renvoyée
2. Téléchargez le code
code js
<script src="./jquery.js"></script>
<script>
$.ajax({
type:'get',
url:'./data.php',
beforeSend:function(){
console.log("请求发起前")
},
success:function(result){
console.log(result);
},
complete:function(){
console.log('请求完成');
}
});
</script>
code php
<?php
header("Content-Type:text/html;charset=UTF-8");
echo "Hello,World!!!";
?>
Message d'erreur :
Envoyer la barre d'adresse : http://heima.com/Coder/%E6%B5...
Résultats d'impression :
Avant le lancement de la demande
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Unknown: failed to open stream: No such file or directory in Unknown on line <i>0</i></th></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: Unknown: Failed opening required 'F:/heima/Coder/测试场/Ajax/data.php' (include_path='.;C:\php\pear') in Unknown on line <i>0</i></th></tr>
</table></font>
请求完成
3. Je ne suis pas sûr de ce qui ne va pas. S'il vous plaît, aidez-moi à jeter un œil. Si hello world peut être renvoyé, les données json suivantes peuvent-elles être renvoyées ?
php (json)
<?php
header('Content-type: text/json');
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
echo json_encode($fruits);
?>
D'après le rapport d'erreur, il semble que le chemin d'accès (fichier) n'existe pas. La réponse ci-dessus est très claire.
Vous pouvez le vérifier comme ceci, en supposant que votre fichier HTML (doit contenir votre code js) se trouve dans le
$_PATH/test.html
,php为data.php
fichier1. Vérifiez si le répertoire actuel existe
$_PATH/data.php
这个文件2、手动访问本地环境下(如:http://localhost/data.php),就知道是否正常了(如果报错那就已经找到问题了)
3、不建议ajax的
url:"./data.php"
这么写,直接url:"data.php"
C'est tout4. Il n'est pas recommandé d'utiliser la dénomination chinoise pour les noms de dossiers.
Message d'erreur
Aucun fichier ou répertoire de ce type dans Inconnu à la ligne 0
No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required 'F:/heima/Coder/测试场/Ajax/data.php
Erreur fatale : Inconnu : Échec de l'ouverture requis 'F:/heima/Coder/test field/Ajax/data.php
Le chemin de votre fichier est erroné.
Première question
Votre code HTML renvoie la même chose, qui est en fait le message d'erreur de PHP (message d'erreur formaté) :
Si vous accédez directement à la page, vous pouvez intuitivement voir l'erreur suivante :
C'est parce que vous
include
的文件'F:/heima/Coder/测试场/Ajax/data.php'
N'existe pas , veuillez d'abord vérifier si ce fichier existe réellement sur votre serveur PHP. Il est également recommandé de donner la structure du fichier et si le HTML est ouvert localement ou monté sur le serveur et ouvert à partir du protocole HTTP, afin de faciliter une analyse plus détaillée et de donner des suggestions plus précises.Deuxième question
Ce code semble correct. Si l'AJAX précédent peut s'exécuter, celui-ci devrait également fonctionner.
J'ai jeté un œil au contenu de votre en-tête, qui est les informations d'état renvoyées par le navigateur en F12. Vous devriez le savoir. Il contient une URL de demande, ce qui signifie probablement que votre adresse de demande est erronée. C'est juste ce tas de trucs tronqués qui ne devraient pas apparaître. (Dans ce cas, j'ai modifié la méthode de requête ou le jquery importé. Je ne m'en souviens pas clairement. Vous pouvez essayer les deux.) J'ai pris une capture d'écran et vous pouvez y jeter un oeil
. . . .
J'ai également rencontré cette raison, mais il me semble que j'utilise jquery (je ne m'en souviens probablement pas clairement). Une autre raison est que le format de votre ajax est incorrect. Je ne publierai pas le format spécifique. Vous pouvez trouver un format ajax utilisable et l'envoyer. Les formats post et get doivent correspondre. Aussi, c'est la première fois que je vois le type : se mettre au premier plan. Ce n’est pas que ce soit mal, c’est juste gênant. C'est tout, j'espère que ça vous aidera
Il s'agit en effet d'un problème avec l'erreur de chemin php. La raison est qu'il y a une erreur en chinois sur le chemin du fichier lors de l'analyse de l'adresse php. Maintenant, c'est ok et accessible normalement. Merci à tous.