Я пытаюсь отправить данные из формы в php-файл, поэтому я могу сохранить его в базе данных, но его не работает …
Код формы не находится на том же сервере, что и файл php, потому что форма будет в мобильном приложении.
HTML
<div data-role="page" id="createclub"> <div data-role="content"> <form id="cname" align="left" action="post"> <label for="name">Enter Name:</label> <input type="text" id="name" value="" /> <input type="submit" value="Submit" data-inline="true"> </form> <div id="result"></div> </div> <script type="text/javascript"> $(document).ready(function(){ $("#cname").submit( function () { $.post( 'http://www.clubbedin.isadcharity.org/createclub.php', $("#cname").serialize(), function(data){ $("#result").html(data); alert("Data " + data); } ); return false; }); }); </script>
файл php
$name = $_POST['name'];
СПАСИБО!!!
Добавьте это в начало вашего файла PHP:
header("access-control-allow-origin: *");
Подробнее о кросс-доменной политике здесь .
Я думаю, вам нужно предотвратить функцию по умолчанию кнопки отправки, используя .preventDefault()
потому что, когда я смотрю на ваш код, вы хотите отправить свою форму с помощью ajax
$("#cname").submit(function (e) { e.preventDefault(); $.ajax({ url: 'http://www.clubbedin.isadcharity.org/createclub.php', crossDomain: true, //set as a cross domain requests type: 'post', data: $("#cname").serialize(), success: function (data) { $("#result").html(data); alert("Data " + data); }, }); });
и, пожалуйста, используйте .ajax()
чтобы вы могли настроить свой запрос ajax на запрос .ajax()
Ваш входной элемент <input type="text" id="name" value="" />
должен установить атрибут name="name"
как name="name"
.
form #cname
после редактирования
<form id="cname" align="left" action="post"> <label for="name">Enter Name:</label> <input type="text" id="name" name="name" value="" /> <input type="submit" value="Submit" data-inline="true"> </form>
Вы можете получить больше информации из документа API jQuery:
http://api.jquery.com/
http://api.jquery.com/serialize/