【问题标题】:Reasons for Ajax Calls Not Being Made on Mobile?无法在移动设备上进行 Ajax 调用的原因是什么?
【发布时间】:2016-03-14 00:42:09
【问题描述】:

我遇到了一个问题,似乎没有在移动浏览器上进行 Ajax 调用。我正在 asp.net 框架下开发,其中包括引导程序。奇怪的是,如果我切换到桌面视图,Ajax 调用就会起作用。这是我用来测试的修改版本:

var pageUrl = '<%=ResolveUrl("Default.aspx")%>'
        $.ajax({
            type: "POST",
            url: pageUrl + "/GetWeather",
            data: '{latitude: "' + latitude + '", longitude:"' + longitude + '"}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            timeout: 10000,
            success: function(msg) {
                  alert("SUCCESSFUL AJAX CALL!");
            },
            error: function(msg) {
                  alert("FAILED AJAX CALL!");
            }
        });

GetWeather 是一个存储在 Default.aspx.cs 中的函数。如前所述,这在桌面浏览器上运行良好,当我在网站的移动版本上切换到桌面视图时。但是,如果我停留在移动视图中,似乎不会进行 ajax 调用,因为成功或错误警报都不会被调用,也不会超时。

这可能是由于 bootstrap 的某些异常情况造成的吗?提前感谢您的所有帮助

【问题讨论】:

  • 首先是控制台?
  • 这个ajax是怎么触发的?

标签: jquery asp.net ajax twitter-bootstrap


【解决方案1】:

将您的 jQuery .ajax() 调用的 cache 属性显式设置为 false,如下所示:

$.ajax({
        type: "POST",
        url: pageUrl + "/GetWeather",
        data: '{latitude: "' + latitude + '", longitude:"' + longitude + '"}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        timeout: 10000,
        cache: false,
        success: function(msg) {
              alert("SUCCESSFUL AJAX CALL!");
        },
        error: function(msg) {
              alert("FAILED AJAX CALL!");
        }
    });

【讨论】:

  • 不幸的是,这不起作用。不过感谢您的帮助!
猜你喜欢
  • 2016-11-10
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 2014-08-30
  • 2017-01-28
  • 2016-08-17
相关资源
最近更新 更多