我有一个使用Ajax向php文件发送数据的表单。数据发送正常…一切都很好……但是弹出"Error loading page"的消息(使用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'];
您的表单还必须具有以下属性:
data-ajax="false"
如果没有它,jQuery Mobile将初始化自己的ajax逻辑用于表单发布,这是你不希望看到的。阅读更多关于它在这里或阅读我的其他回答关于如何正确处理jQuery Mobile中的表单。
尝试在JavaScript中添加:
jQuery.support.cors = true;
尝试添加
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, *
到你的头