【发布时间】:2014-07-30 14:30:38
【问题描述】:
我正在使用 phoneGap-2.9.0
我无法在本地服务器中访问我的api.php 页面。我收到了error! 警报。
请检查我的代码:
Javascript
$(document).ready(function () {
$('#registerForm').submit(function(){
var postData = $(this).serialize();
var formUrl = $(this).attr('action');
$.ajax({
type: 'POST',
url: formUrl,
dataType : 'json',
data: postData,
success: function(data){
alert(data);
},
error: function(){
alert('error!');
}
});
return false;
});
});
HTML
<form name="registerForm" id="registerForm" method="post" action="http://localhost/android/REST_API/api.php">
<label>First Name :</label>
<input type="text" name="first_name" id="first_name" placeholder="First Name" />
<label>Last Name :</label>
<input type="text" name="last_name" id="last_name" placeholder="Last Name" />
</form>
api.php
<?php header('Access-Control-Allow-Origin: *'); echo "true"; ?>
上面的代码我在浏览器中运行它工作正常。但它在设备模拟器中不起作用。在模拟器中,如果我使用http://www.raddyx.in/api.php 而不是http://localhost/android/REST_API/api.php,我就是true。
请告诉我问题所在。
截图:
【问题讨论】:
-
您似乎没有在服务器上处理预检请求 (OPTION)。 -->dinochiesa.net/?p=754
-
您不能使用
localhost,请尝试改用IP地址 -
@DawsonLoudon 是的,我正在使用
127.0.0.1它也无法正常工作。 -
@h3li0s 请解释一下你的(选项)
-
通读您编辑的问题后,这似乎不是一个预先问题。这似乎是模拟器的一些问题。您可以尝试捕获模拟器发送给服务器的http请求,与您的浏览器发送的http请求进行比较。
标签: javascript php android ajax cordova