Javascript Cordova-http请求不处理本地php
这是我的第一个科尔多瓦项目。我的http请求不使用POST处理本地php文件。当php文件托管在服务器上时,代码可以正常工作和处理。但当php文件是本地文件时,则不会。直接在服务器上编辑文件是一件非常麻烦的事情,需要花费大量时间,而不仅仅是在本地编辑。我想知道这个问题的解决方案,因为它会让开发变得更容易 以下是Javascript代码Javascript Cordova-http请求不处理本地php,javascript,php,ajax,xml,Javascript,Php,Ajax,Xml,这是我的第一个科尔多瓦项目。我的http请求不使用POST处理本地php文件。当php文件托管在服务器上时,代码可以正常工作和处理。但当php文件是本地文件时,则不会。直接在服务器上编辑文件是一件非常麻烦的事情,需要花费大量时间,而不仅仅是在本地编辑。我想知道这个问题的解决方案,因为它会让开发变得更容易 以下是Javascript代码 $(document).ready(function () { $("input").on("focus", function (e) { e.preve
$(document).ready(function () {
$("input").on("focus", function (e) {
e.preventDefault();
e.stopPropagation();
window.scrollTo(0,0);
});
$("#loginBtn").click(function () {
swal({
title: "Logging in ...",
imageUrl: "../images/ring-alt.gif",
showConfirmButton: false,
});
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username != "") {
if (password != "") {
$.post("../php/login.php",
{
username: username,
password: password
},
function (data, status) {
alert(data);
});
} else {
sweetAlert("Oops...", "Please enter your password!", "error");
}
} else {
sweetAlert("Oops...", "Please enter your username!", "error");
}
});
});
警报(数据)显示整个php文件,而不是对其进行处理。然而,当远程访问时,它可以正常工作
这里是工作的js代码(远程/托管的php文件)
下面是php文件
<?php
include("connectdb.php");
$username = mysqli_escape_string($conn, $_POST['username']);
$password = mysqli_escape_string($conn, $_POST['password']);
$password = md5($password);
$getLogin = "SELECT id FROM user WHERE username = '$username' and password = '$password'";
$result = mysqli_query($conn, $getLogin);
if(!$result){
echo "Query Error: ". mysqli_error($conn);
die();
}
$count = mysqli_num_rows($result);
if($count == 1){
echo "success";
}else{
echo "failed";
}
?>
您不能在cordova项目上运行PHP代码。PHP需要在支持PHP的环境(如服务器)上执行。您的php代码还使用一个数据库,这个数据库需要在服务器上配置,这可以在本地完成,但显然不会在设备之间共享
似乎您并不确切地知道什么是PHP。你应该开始学习它,了解它是如何工作的。PHP代码在任何环境下都不起作用;它需要由支持PHP的服务器实际处理。对于本地开发,请安装一个PHP开发环境(如xampp),并将AJAX请求发送到localhost
。遵循@ChrisG建议:构建一个合适的开发/生产管道。在本地构建和测试(即您的dev-box承载服务器的本地版本),然后在黄金时间准备就绪时投入生产。您将能够设计一个结构良好的系统,该系统经得起使用测试
。即使您发现了一种让服务器处理“本地”php文件的方法,也不要这样做。您的服务器很快就会被黑客入侵。谢谢您的评论,先生。谢谢只是想找到一个更好的方法来编辑php文件到我的服务器。因为每次我进行更改时,我都直接在服务器的文件管理器上编辑它。我想我有足够的知识知道php在服务器上运行并使用数据库。只是想澄清一下。我也有点困惑,因为我读过一些文章,你使用ajax在cordova中与php通信。让我放松一下:)我在服务器上配置了数据库。我只是想知道是否可以在本地处理php,而不是在服务器上处理数据库。
<?php
include("connectdb.php");
$username = mysqli_escape_string($conn, $_POST['username']);
$password = mysqli_escape_string($conn, $_POST['password']);
$password = md5($password);
$getLogin = "SELECT id FROM user WHERE username = '$username' and password = '$password'";
$result = mysqli_query($conn, $getLogin);
if(!$result){
echo "Query Error: ". mysqli_error($conn);
die();
}
$count = mysqli_num_rows($result);
if($count == 1){
echo "success";
}else{
echo "failed";
}
?>