连接到外部服务器的HTML5应用程序

Connecting to external server for HTML5 app

本文关键字:HTML5 应用程序 服务器 外部 连接      更新时间:2023-09-26

我使用表单来提交和更新位于外部服务器上的数据库。当我将所有文件放在同一台服务器上(PHP和html)时,我就可以毫无问题地进行更新。但是当我把它分离出来,只在服务器上留下php文件,并从我的计算机上操作html文件时,我不再能够更新。

当我为表单单击submit时,JavaScript中的第一个 alert("submit") 甚至没有启动。我不能保持所有的文件在服务器上的html部分是要转换为HTML5应用程序。无论如何,我可以解决这是abel保持文件分开。

HTML代码

<html>
    <head>
        <title></title>
        <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
        <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    </head>
    <body>
        <form method="post" id="infoForm">
            <input type="text" name="first_name" id="first_name" value="" placeholder="First Name"  />
            <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name"  />   
            <input type="text" name="email" id="email" value="" placeholder="Email"  />
            <button type="submit">Submit</button> 
        </form>
        <script>
            $('#infoForm').submit(function() {
                alert("submit");
                var postTo = 'http://www.examplesite.com/add.php';
                $.post(postTo,({first_name: $('[name=first_name]').val(), last_name: $('[name=last_name]').val(), email: $('[name=email]').val()}),
                function(data) {
                    alert("data is " + data);
                    if(data != "") {
                        // do something
                    } else {
                        // couldn't connect
                    }
                    },'json');
                return false;
            });
        </script>
    </body>
</html> 
PHP代码:

<?php
$server = "localhost";
$username = "user";
$password = "pass";
$database = "db";
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$firstname = mysql_real_escape_string($_POST["first_name"]);
$lastname = mysql_real_escape_string($_POST["last_name"]);
$email = mysql_real_escape_string($_POST["email"]);
$sql = "INSERT INTO personnel (first_name, last_name, email) ";
$sql .= "VALUES ('$firstname', '$lastname', '$email')";
if (!mysql_query($sql, $con)) {
    die('Error: ' . mysql_error());
} else {
    echo "Comment added";
}
mysql_close($con);

你是说即使是alert也没有开火。检查jQuery是否加载正常。从localhost运行时尝试更改:

//code.jquery.com/jquery-1.11.3.min.js来http://code.jquery.com/jquery-1.11.3.min.js

这是因为浏览器在本地提供文件不知道它应该从web加载外部库。显式设置协议将使他不是在文件系统中搜索它们,而是通过url加载。