我有一个表单,其中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'];
答案 0 :(得分:2)
您的表单还必须具有以下属性:
data-ajax="false"
如果没有它,jQuery Mobile将为表单发布初始化自己的ajax逻辑,而你不希望这样。阅读有关它的更多信息here或阅读我的其他 answer ,了解如何在jQuery Mobile中正确处理表单。
答案 1 :(得分:0)
尝试在JavaScript中添加:
jQuery.support.cors = true;
答案 2 :(得分:0)
尝试添加
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, *
到你的标题