2015-10-23 2 views
0

Я использую форму для отправки и обновления моей базы данных, сидящей на внешнем сервере. Когда я размещаю все файлы на одном сервере (PHP и html), я могу обновлять без каких-либо проблем. Но когда я его отделяю, оставляя только файл php на сервере и управляя файлами html с моего компьютера, я больше не могу обновлять его.Подключение к внешнему серверу для приложения HTML5

Первый alert("submit") в JavaScript не срабатывает, когда я нажимаю кнопку «Отправить» для формы. Я не могу хранить все файлы на сервере, так как часть 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); 
+0

Это может помочь: http://stackoverflow.com/questions/33251197/sending-data-to-php-using-ajax/ – TSV

+0

Я не совсем уверен, как это та же проблема. –

+0

Вы отправляете данные в форме-стиле, имхо лучше передавать данные в виде сериализованного JSON. – TSV

ответ

1

Ты говоришь, что даже предупреждение не стреляя. Проверьте правильность загрузки jQuery. Попробуйте изменить, а подножку с локального хоста:

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

Это происходит потому, что браузер обслуживающих файлы, локальный не знает, что это должен загружать внешние библиотеки из Интернета. Явно устанавливающий протокол заставит его искать их не в файловой системе, а загружать через url.

+0

Пробовал без разницы. Jquery загружается отлично, когда файлы находятся вместе. Поэтому не думайте, что это проблема. –

+0

Не делал ничего другого и почему-то его работала сейчас. –

Смежные вопросы