Javascript Cordova-http请求不处理本地php

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

这是我的第一个科尔多瓦项目。我的http请求不使用POST处理本地php文件。当php文件托管在服务器上时,代码可以正常工作和处理。但当php文件是本地文件时,则不会。直接在服务器上编辑文件是一件非常麻烦的事情,需要花费大量时间,而不仅仅是在本地编辑。我想知道这个问题的解决方案,因为它会让开发变得更容易

以下是Javascript代码

$(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";
}
?>