【问题标题】:xmlhttprequest on IOS not sending Request?IOS上的xmlhttprequest不发送请求?
【发布时间】:2014-06-06 08:22:15
【问题描述】:

我正在做一个文件制作器项目。在这个项目中,我需要向肥皂服务提出请求。为此,我使用 Filemaker 中的 Web 查看器。我从 Web 查看器发出一个肥皂请求,然后使用 filemaker fmp:// 协议,我可以将数据从 Web 查看器发送到我的数据库以进行进一步处理。

为了完成这项工作,我将在 Web 查看器中加载一个 HTML 页面。 我有以下本地 html 页面,其中包含与肥皂服务通信的脚本:

<html>
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
</head>
<body>
<script language='JavaScript' type='text/JavaScript'>
var xhr = new XMLHttpRequest();
var req = ' --- request comes here ----';
xhr.open('POST', 'https://--- soapservice endpoint ---', true, '***_***_***', '******');
xhr.onload = function (e) {
  if (xhr.readyState === 4) {
    if (xhr.status === 200 || xhr.status === 0) {
      alert ('Onload responsetext: ' + xhr.responseText);
    } else {
      alert ('Onload statustext: ' + xhr.statusText);
    }
  }
};


xhr.onerror = function (e) {
  alert ('onerror statustext: ' + xhr.statusText + ',status: ' + xhr.status);
};
xhr.setRequestHeader('Content-Type', 'application/xml');
xhr.setRequestHeader('SOAPAction', '');
xhr.send(req);
</script>
</body>
</html>

当我在 Safari 中打开此页面时,在我的 Imac 上,脚本运行良好,并且我得到了来自服务器的响应。

在我的 Ipad IOS 上,我没有得到服务器的响应。 xhr.Status = 0 和 readyState = 4 并且 responseText 为空。 如果我在 de 脚本中放置一个 onreadystatechange 函数,它会在每次就绪状态更改(1 到 4)时发出警报,我只会收到来自就绪状态 1 和就绪状态 4 的警报。

触发错误功能,给出警报状态 0 和空状态文本

因为它不是公共服务器,所以我无法发布实际网址 用户名中有两个“_”。

为什么这段代码在 IOS 中不起作用???

【问题讨论】:

  • 我不知道你的问题的答案。恕我直言,最好直接从响应中导入记录,使用 XSLT 样式表将响应转换为 Filemaker 的 XML 语法。
  • 无法使用 filemaker Go 导入 xml 文件。我正在尝试让这个数据库在我的 Ipad 上运行。
  • 啊,对不起,你说得对。 Insert From URL[] 怎么样,对你有用吗?
  • 从 url 插入不处理身份验证。我连接到使用用户名和密码的第三方服务器。
  • 我发现这个概念是有效的,只要我从 localhost 执行soaprequest。所以它更像是一个文件制作者而不是一个 javascript 问题。现在逐步重建以找出问题的根源。

标签: javascript ios soap xmlhttprequest filemaker


【解决方案1】:

这个概念正在 IOS,filemaker GO 上运行。 javascript代码没有问题。由于某种原因,Filemaker 中的 Webviewer 没有在我的主数据库应用程序中运行 Filemaker GO 上的脚本。它正在我的测试数据库中运行???

找到了解决方案:由于某种原因,网络查看器没有在我的 Ipad 上加载数据 url。这是通过插入脚本步骤“刷新窗口”来解决的。不要问我为什么,但它解决了问题。

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    相关资源
    最近更新 更多