Cordova Apache Ajax请求PHP时出现问题



\

我是新手,需要一些帮助

我想创建一个Cordova项目,该项目就是这样做的。主页上有一个";发送";

按钮,当我点击它时,一个ajax请求应该被发送到php文件,它应该返回

"你好";,并且在成功函数中提醒结果。相反,它会提醒整个PHP

文件。只有当我用cmd在浏览器上运行Cordova时才会发生这种情况。\

我试着像执行php文件一样执行它,它成功了,所以我真的不明白是什么

这里的问题

很抱歉我英语不好,但我希望通过看照片你能理解我的问题

帮帮我,欧比-万·克诺比,你是我唯一的希望

alert.php

<?php echo json_encode("HELLO"); ?>

index.js

document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
// Cordova is now initialized. Have fun!
console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
document.getElementById('deviceready').classList.add('ready');
}
function send(){
$.ajax({
type:"get",
url: "alert.php",
success: function(result){
alert(result);
}});
}    
document.getElementById("send").addEventListener("click",send);

https://i.stack.imgur.com/Pwl5m.png

访问后http://192.168.0.111/Project/www/alert.phphttps://i.stack.imgur.com/q7BXK.png

问题是http://192.168.0.111/Project/www/alert.php只会返回alert.php的源代码,这是因为安装在主机192.168.0.111上的web服务器没有正确配置为运行PHP。

根据192.168.0.111上安装的服务器,检查如何使用它配置PHP(您的Web服务器可能是Apache、Nginx等)。

如果您在浏览器中访问http://192.168.0.111/Project/www/alert.php时正确配置了Web服务器,您应该只看到HELLO

您的代码在本地主机上工作的原因是因为您的文件扩展名以.php 结尾

就你而言http://192.168.0.111/Project/www/alert.php

如果文件扩展名以.html 结尾,则不能执行PHP代码

这就是为什么您获得alert.php的全部内容而不是方法输出的原因

我建议您使用JSON格式返回PHP文件的内容,然后在success()回调中处理该JSON。在这种情况下,您的JS代码不需要重构,但为了将来的参考,请查看https://www.w3schools.com/js/js_json_intro.asp

你的alert.php文件应该是这样的:

<?php 
$txt = "HELLO";
$json = json_encode($txt);
echo $json;
?>

最新更新