0

在 Android 上,我使用的是 Phonegap

var ft = new FileTransfer();

ft.upload(pic_to_upload, "http://" + app_domain + "/test_phonegap.php/",
          success, failure, options);

如果我将域设置为 localhost 或 127.0.0.1 或 10.0.0.6(内部 IP),它可以工作,但如果我使用网站的实际域,它就不起作用。

更具体地说,发生的是执行 php 脚本(服务器是 Apache),但是如果我查看 $_REQUEST 或 $_FILE 变量它们是空的,而使用 localhost 它接收一切都很好。

我已经放入了我的 xml/config.xml:

<access origin="http://127.0.0.1*"/> <!-- allow local pages -->
<access origin="http://www.domain.com/"/> 

其中 domain.com 是我向其发送请求的域,同样,它确实收到了请求,但没有 $_REQUEST 或 $_FILE 变量(也没有 $_GET 和 $_POST,所有这些变量都是空的)

可能出了什么问题?我完全感到困惑。

我所做的所有其他 AJAX 请求都是 JSONP 并且可以正常工作,但是对于文件上传,它就无法正常工作。

此外,我在上周的 Apache 错误日志中什么也看不到,因此错误日志中没有任何关于此的内容。

感谢任何帮助

4

1 回答 1

0

将您的域添加到 phonegap/cordova 白名单,除非您将域添加到白名单 phonegap 将阻止任何访问它们以获取更多信息的尝试:

http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html

于 2012-09-17T12:54:45.230 回答