2013-02-24 156 views
1

我必须为Android和iOs开发一个应用程序。为此,我需要使用跨域Ajax请求,因为我正在使用Phonegap进行开发。 问题是:当我从浏览器使用html/css/js代码时,即使是从智能手机浏览器,我从我的服务器正确地得到我的答案。但是,当我在编译的Phonegap应用程序上使用相同的代码执行相同的请求时,我得到403 Forbidden响应,尽管我在服务器端使用了'Access-Control-Allow-Origin:*'标头。Phonegap 403 Forbidden

我一直在寻找一个解决方案在互联网上,但我发现没有线程谈论这种问题。 有人有想法吗?

问候,

回答

1

我怀疑ü使用PhoneGap的版本2.3.0或更低。在这种情况下,您需要白名单 所有外部域访问权限必须在PhoneGap中以2.3.0或更低版本列出。否则,PhoneGap会默认阻止它们。在这里查看全部细节:http://docs.phonegap.com/en/2.3.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide。在PhoneGap的2.4.0版本中,默认情况下所有域都被列入白名单。

+0

嗨,谢谢你的回答。 不幸的是,我使用Phonegap 2.4.0。尽管我已经尝试了phonegap文档中提供的修复方法,但它仍然无法正常工作:/ 但是经过一些研究,我发现Android 4.1有一个原产地策略错误,尽管我还没有找到任何修复程序... 我要继续我的研究。但谢谢你的回答:) – Littletime 2013-02-25 14:31:16

+0

@ user2104589你是否找到任何解决方案? – 2013-03-05 11:44:38

+1

我终于改变了我做我的请求,并使用jQuery而不是XMLHttpRequest对象,它的工作:)希望它可以帮助 – Littletime 2013-03-11 15:12:59

0

我知道的时间很长,但是我有403个禁止回复的问题。但在我的身边,这是文件许可,将其更改为755,现在一切正常。