【问题标题】:Android WebView AJAX RequestAndroid WebView AJAX 请求
【发布时间】:2014-07-15 12:54:46
【问题描述】:

我正在开发一个使用 Android 的 webView 运行它的 VB.NET MVC4 Web 应用程序。

我遇到了下一个问题:当我向自己的控制器方法发出 ajax PUT 请求时,我收到 404 状态码。

另一方面,当我进行获取或发布请愿时,工作正常。 ¿ 有什么想法吗?

$.ajax({
                type: 'PUT',
                url: 'myurl',
                data: data,
                success: function (json, textStatus) {
                   alert(json);
                },
                error: function (jqXHR) {
                  alert('error');
                }
            });


jqXHR.readystate = 4
jqXHR.message = server error file or directory not found
jqXHR,status: 404

编辑:IIS 被配置为使用 PUT 和 DELETE,因此它在浏览器中正常工作,但不适用于 Androids WebView。

【问题讨论】:

  • 您需要做的第一件事是缩小错误范围。您确定它仅与 android webview 中的调用有关吗?您确定您的服务器确实支持 PUT 请求吗?
  • 我认为这与android无关,您在桌面浏览器中测试过吗?我的猜测是你得到相同的结果。使用 .NET 和 MVC4 重新标记并使用服务器的路线图更新您的帖子。可能与此有关。
  • 当我在我的电脑浏览器(chrome)中测试时,工作正常。 ¿ 你能详细解释一下你在说什么吗?谢谢大家。
  • 错误是 IIS 不作为标准支持 PUT, DELETE 等.. 所以必须启用它们

标签: android jquery ajax webview


【解决方案1】:

您的代码缺少引用 url: 'myurl 最后需要 '

$.ajax({
    type: 'PUT',
    url: 'myurl',
    data: data,
    success: function (json, textStatus) {
        alert(json);
    },
    error: function (jqXHR) {
        alert('error');
    }
});

这可能是您的示例中的错误,但这就是我们可以看到的所有纠正其他要检查的内容是站点的 IIS 设置是否设置为允许 PUT, DELETE

GET 和 POST 是标准的,默认启用。

所以请按照这个问题的答案: How do I enable HTTP PUT and DELETE for ASP.NET MVC in IIS?

【讨论】:

  • 首先感谢大家。马丁巴克你是对的,这个例子有一个错误。正如我之前所说,IIS 被配置为与 PUT 和 DELETE 一起使用,因此它可以在浏览器中正常工作。我应该做一些特别的事情来使用 Androids webview 吗?它兼容吗?再次感谢大家。
  • Android WebView 是一个 WebKit 实现,所以它应该完全支持它我不知道为什么它不会,你能设置远程 WebView 的远程调试我相信你可以将它连接到你的 chrome 如果我没记错developer.chrome.com/devtools/docs/remote-debugging看看有没有PUT、DELETE之类的网络信息
  • 经过一番测试,我推断至少Android 4.2不支持PUT操作,所以我修改为POST。确实,POST 是解决我的问题的更好方法。再次感谢大家。
  • 还有另一种选择......所以看看你是否可以将你的移动应用程序 HTML/CSS/JS 文件移动到一个cordova应用程序中,如果你在理解如何设置cordova时遇到问题,你可以使用一个名为 Telerik 的系统,它会为你构建一个 APK。 (付费但有免费试用)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
相关资源
最近更新 更多