3

我有一个表单,其中使用 Ajax 将数据发送到 php 文件。数据发送正确...一切正常...但弹出“加载页面错误”消息(使用 jquerymobile)

.html 文件

<div data-role="page" id="cc">
<div data-role="header">
    <h1>Home</h1>
</div>
<div data-role="content">
    <form id="cname" align="left" action="post">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" value=""  />
        <input type="submit" value="Submit" data-inline="true">
    </form>


    <div id="result" style="visibility: hidden"></div>
</div>
</div>

    <script type="text/javascript">
       $("#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);
               },
           });
        });
    </script>

.php 文件

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

$name = $_POST['name'];
4

3 回答 3

2

您的表单还必须具有此属性:

data-ajax="false"

没有它,jQuery Mobile 将为表单发布初始化它自己的 ajax 逻辑,而您不希望这样。在此处阅读有关它的更多信息或阅读我关于如何在 jQuery Mobile 中正确处理表单的其他答案。

于 2013-06-06T20:43:13.673 回答
0

尝试在你的 JavaScript 中添加这个:

jQuery.support.cors = true;
于 2013-06-06T20:07:31.903 回答
0

尝试添加

Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, *

到你的标题

于 2013-06-06T20:20:19.337 回答