【问题标题】:Phonegap error with xmlHttpRequestxmlHttpRequest 的 Phonegap 错误
【发布时间】:2015-01-15 15:14:34
【问题描述】:

我只是想用这段代码为我的应用获取登录页面:

<script type="text/javascript">
$(document).ready(function() {
    $(".loa").load("http://www.agroagro.com/login.php");
});
</script>

我收到此错误:

XMLHttpRequest cannot load http://www.agroagro.com/login.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://agroagro.com' is therefore not allowed access.

问题是当我只有 .load(login.php) 时一切正常,但是当我输入 .load(agroagro.com/login.php) 时我从上面得到错误,所以因为我想使用 phonegap 来构建原生应用我需要完整的 url 地址吗?

知道如何解决这个问题吗?

还有一个问题 - 是像我通过 JQ 加载 .php 文件还是更好地对 php 文件进行 AJAX 调用?

对我来说,制作一个加载 .php 文件更容易,因为我有没有使用 ajax 的代码。

性能怎么样 - 加载 .php 或进行 ajax 调用?

【问题讨论】:

  • 你是在设备还是浏览器上测试
  • 在设备中测试,它会工作。如果您希望请求在浏览器中工作,则请求必须与服务器相同的域,或者服务器端必须支持 CORS

标签: javascript php jquery cordova cors


【解决方案1】:

浏览器不允许我们调用其他域,除非我们收到了来自我们请求的地方或所有其他域的允许请求

header('Access-Control-Allow-Origin: *');

http://www.agroagro.com/login.php 页面中使用上述行

希望有效果

【讨论】:

  • 你上传到服务器了吗?
  • 可能是因为在登录页面我有很多其他资源(包括 menu.php 、 init.php 和类似的)?
  • @user827341 你确定你没有一些缓存服务于旧版本的页面吗,因为我没有看到正在发送的标题:i.imgur.com/PthvumA.png
  • 我现在会看到...登录后我必须重定向到 index.php 页面,我该怎么做?
  • 你使用phonegap rite吗?它使用基本的javascript?最好在这里设计页面并调用类似 api 的东西来进行身份验证或从 DB 获取数据或将数据发送到 DB。而手机间隙就是这样设计的
猜你喜欢
  • 1970-01-01
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多