Android 2.2.3无法使用JQUERY AJAX调用SAML URL

时间:2013-03-28 06:51:26

标签: android jquery ajax mobile saml-2.0

我已经被困在这里很长一段时间了。我正在开发一个带有phonegap的移动应用程序。我用android 4.0.4测试了应用程序,它运行得非常好。但是,当我在2.2.3上测试时,AJAX结束并且错误状态为:

就绪状态= 0

HTTP状态= 0

我试图将超时增加到很长但仍然以该结果结束。我不确定是什么问题,但我开发了另一个使用相同的ajax调用的应用程序,它在android 2.2.3上工作正常,但是这个时间的不同之处在于它调用了一个SAML URL(身份提供者)。

代码如下:

$.ajax({
                url: "...."+Math.random(),
                type: "POST",
                data: {
                    j_username: uname,
                    j_password: pword
                },
                cache: false,
                timeout: (100*1000),
                success: function(data, textStatus, jqXHR){
                    var contentType = jqXHR.getResponseHeader('Content-Type');
                    if (contentType == 'application/atomsvc+xml'){
                    }else{
                        alert(".....");
                        // clearTimeout(timer);
                        $.mobile.hidePageLoadingMsg();
                        enableAllButtons();
                    }
                },
                error: function(jqXHR, textStatus, errorThrown){
                    // clearTimeout(timer);
                    alert("Error Thrown : " + errorThrown);
                    alert("status : " + jqXHR.status + " " + jqXHR.statusText);
                    alert("ready state : " + jqXHR.readyState);
                    alert(".......");
                    $.mobile.hidePageLoadingMsg();
                    enableAllButtons();
                }
            });  

真的希望有人能帮助我。

非常感谢你提前提出的意见。

此致

阿曼达

1 个答案:

答案 0 :(得分:0)

除了一件事

之外,代码似乎没问题

您在网址中使用Math.random() ..您还使用了cache:false 尝试从URL中删除Math.random(),而jQuery Cache使用相同的东西。

此外,当您获得readyState = 0时,它将成为CrossDomain问题。在AJAX选项中使用JSONP(dateType:'JSONP'