3

我正在尝试将数据从表单发送到 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'];

谢谢你!!!

4

3 回答 3

15

在 PHP 文件的开头添加:

header("access-control-allow-origin: *");

有关跨域策略的更多信息,请点击此处

于 2013-06-06T01:52:50.610 回答
1

我认为您需要阻止使用提交按钮的默认功能,.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 请求设置为跨域请求

http://api.jquery.com/jQuery.ajax/

于 2013-06-06T01:35:53.220 回答
-1

您的输入元素<input type="text" id="name" value="" />必须将 name 属性设置为name="name".

#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>  

您可以从 jQuery API 文档中收集更多信息:http: //api.jquery.com/
http://api.jquery.com/serialize/

于 2013-06-06T01:52:28.807 回答