簡體   English   中英

連接到HTML5應用程序的外部服務器

[英]Connecting to external server for HTML5 app

我正在使用表單提交和更新位於外部服務器上的數據庫。 當我將所有文件放在同一服務器(PHP和html)上時,我可以進行更新而沒有任何問題。 但是,當我將其分離出來時,僅將php文件留在服務器上並從計算機上操作html文件時,我將無法再進行更新。

當我單擊提交表單時,JavaScript中的第一個alert("submit")甚至不會觸發。 我無法將所有文件保留在服務器上,因為html部分將被轉換為HTML5應用程序。 無論如何,我可以解決這個使文件分開的問題。

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);

您說即使警報也不會觸發。 檢查jQuery是否正確加載。 從本地主機運行時嘗試更改:

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

那是因為瀏覽器本地提供文件,不知道它應該從Web加載外部庫。 明確設置協議將使他不在文件系統中搜索它們,而是通過url加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM