【问题标题】:Getting xmlhttprequest to work from javascript inside qml document让 xmlhttprequest 从 qml 文档中的 javascript 工作
【发布时间】:2015-04-15 21:21:13
【问题描述】:

所以我为移动设备编写了这个 qml 应用程序,我试图通过 http POST 请求将一些数据传递到网络服务器上的 php 页面。在做了一些研究之后,我确信我应该能够使用 javascript xmlhttprequest 从 qml 文档中做到这一点。一切看起来都非常整洁和简单(我在网上发现了一些类似Https POST / GET with Qml/Qt 的变体)。我在答案中使用了脚本。

对于测试场景,我在 Virtualbox 上启动了 LAMP(L = Ubuntu 服务器),我尝试将参数中的一些数据(很像上面的链接)发布到 .php 页面,但只获得 http .status = 0 。 php 脚本永远不会在 $_POST 中获取任何内容。所以首先要检查的是我实际上可以通过浏览器中的网络表单向同一服务器发出 http POST 请求。这很顺利。

所以我开始明白在浏览器之外执行 xmlhttprequest 与在浏览器中执行 xmlhttprequest 不同。这可能意味着我需要在 Apache 端做一些配置巫术。我绝不是 apache 大师所以我现在很茫然。

希望有人做过类似的事情或发现我错过了什么?

谢谢。

【问题讨论】:

  • 您是否尝试过 Wireshark 来检查您的 QML 程序发送的数据是否与您的浏览器测试发送的数据相同?
  • 还没有。我必须补充一点,奇怪的是,当将 url 指向应该处理 POST 的实际页面时,我只会获得 http 0 状态。例如,如果我添加了错误的端口号或指向该服务器上不存在的页面,那么我会得到预期的 404。所以看起来应用程序根本无法访问服务器。因此,考虑到这一点,Wireshark 并不是我的第一想法。

标签: javascript xmlhttprequest qml


【解决方案1】:

哦,天哪 :( 我犯了最愚蠢的 php 脚本错误,我忽略了大约 200 次。对不起!好吧,即使是天才有时也会犯错。

为了让这有点用处:我不得不说我仍然不明白为什么我被退回 http.status = 0 。当我开始使用 curl 时,我发现这是错误的错误代码。从 curl 执行 POST 突然给了我一般的 http 错误代码 500。所以这让我潜入 /var/log/apache2/error.log 并在那里我看到了我的愚蠢错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    相关资源
    最近更新 更多