【问题标题】:$.ajax calls don't go through on android devices$.ajax 调用无法在 Android 设备上进行
【发布时间】:2015-08-11 15:52:09
【问题描述】:

Javascript 代码:

                var googledocsurl = "https://docs.google.com/viewer?url=";
                $.ajax({
                    url: window.localStorage.getItem('basePath') + 'pdf/GetPdfUrls',
                    type: "GET",
                    data: { id: window.localStorage.getItem('userid') },
                    dataType: "json",
                    beforeSend: function () { $.mobile.loading('show'); },
                    success: function (returnValue) {
                        for (var i = 0; i < returnValue.length; i++) {
                            $('#pdfList').append("<li><a onclick=\"window.open('" + googledocsurl + window.localStorage.getItem('basePath') + returnValue[i].pdfUri + "\', '_blank', 'location=yes')\">" + returnValue[i].PdfCreationDate + "</a></li>")
                        }
                    },
                    error: function () {

                    },
                    complete: function () { $.mobile.loading('hide'); },
                })

如果我在模拟器上尝试这个 ajax 调用并 ripply 它工作没有问题,但是当我在我的 android 设备上尝试它时,它工作就像 1/50 次,它有点不一致,这使得它很难修复或者理解

我在 Visual Studio 中看到的错误

Failed to load resource: net::ERR_NAME_NOT_RESOLVED
GetPdfUrls(0,0)

如果我单击“GetPdfUrls(0,0)”,我可以看到响应并且其中填充了数据,但由于某种原因,这给了我和错误,但据我所知,这对我来说没问题(尤其是感觉它我尝试了 50 次中的 1 次)

回应:

[{"pdfUri":"Image/GetPdf/8259ff54-6cd2-48dd-a0dc-d39b255e9bad","PdfCreationDate":"2014-12-08"},{"pdfUri":"Image/GetPdf/f05ff375-45e2-429b-a8fc-2c9d660df263","PdfCreationDate":"2014-12-08"},{"pdfUri":"Image/GetPdf/211feab8-9715-4942-bf8c-f7e95188c987","PdfCreationDate":"2014-12-08"},{"pdfUri":"Image/GetPdf/6ded622b-2d3e-4151-8be3-01070d1b9d69","PdfCreationDate":"2014-12-08"},{"pdfUri":"Image/GetPdf/f34adfa9-7bbf-4db9-b7ee-92fd619b0dc0","PdfCreationDate":"2014-12-08"},{"pdfUri":"Image/GetPdf/b6e5e56c-68d3-4662-a00e-b11dc09bfd9a","PdfCreationDate":"2014-12-08"},{"pdfUri":"Image/GetPdf/cc633e61-adcd-414d-bfc7-d09a30e05b01","PdfCreationDate":"2014-12-15"}]

如果您需要更多信息,请询问,我会尽力提供! 提前感谢所有帮助

【问题讨论】:

  • 尝试清理并重建解决方案。用 try catch 块包围它,看看你是否得到任何响应。
  • 在将 basePath 或用户 ID 保存到本地存储之前尝试此 ajax 调用的机会吗?
  • @ClaytonLeis 如果是这种情况,那么响应将为空且不包含数据,对吧?
  • 会不会是手机有问题?因为现在它又可以工作了……
  • 对,如果是这种情况,您将不会获得任何 JSON 数据。

标签: android jquery ajax cordova visual-studio-cordova


【解决方案1】:

好吧,我现在不觉得自己很愚蠢......

像手机这样的接缝在没有连接到 wifi 网络时没有任何互联网,并且接缝会随机失去与路由器的连接并连接到具有相同信号的另一个 wifi 网络(没有互联网连接)强度,然后随机变回来(猜测它采用具有最佳信号强度的已知网络)。

我很幸运,我查看了 logcat 日志并看到了这种变化,否则我会被卡住一段时间:/

无论如何感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多