gpt4 book ai didi

android - 使用 Phonegap 和 JQuery Mobile 的 AJAX 到 Sharepoint Server 不工作

转载 作者:行者123 更新时间:2023-11-29 22:11:37 24 4
gpt4 key购买 nike

我有以下问题。在 Phonegap 应用程序(适用于 Android)中,我想使用以下代码进行 AJAX 调用以连接 Sharepoint 服务器:

 $.ajax({  
url:"https://xxx/_vti_bin/lists.asmx",

beforeSend: function( xhr ){
xhr.setRequestHeader(
"SOAPAction",
"http://schemas.microsoft.com/sharepoint/soap/GetListCollection"
);
xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");
},
dataType:"xml",
contentType: "application/xml; charset=utf-8",
timeout:10000,
type:'POST',
cache: false,
username: "username",
password: "password",
data: soapEnv,
success:function(data) {
// alert data
var serializer = new XMLSerializer();
serialized = serializer.serializeToString(data);
alert(serialized);
},
error:function(XMLHttpRequest,textStatus, errorThrown) {
// alert errors
alert("Error status :"+textStatus);
alert("Error type :"+errorThrown);
alert("Error message :"+XMLHttpRequest.responseXML);
alert("Error statustext :"+XMLHttpRequest.statusText);
alert("Error request status :"+XMLHttpRequest.status);
},
complete: function(jqXHR, textStatus){
alert(textStatus);
}
});

当我尝试在 Android 模拟器上运行它时,错误消息是:

Error status: error   
Error type:
Error message: undefined
Error statustext: error
Error request status: 0

然而,当我尝试在我的浏览器 (Chrome) 上运行它并禁用网络安全(由于同源策略)时,它工作正常。由于 file:///协议(protocol),Phonegap 通常不应该关心 SOP。我将以下内容添加到“mobileinit”:

$(document).bind("mobileinit", function() {
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});

但是当我在没有禁用网络安全的情况下在 Chrome 中运行相同的代码时,我会得到与在 Android 模拟器中完全相同的错误。

我还尝试了对维基百科的 AJAX 调用(使用 html 而不是 xml,使用 GET 而不是 POST),并且没有问题。

此外,我认为 Sharepoint 的 AJAX 甚至不会被触发(Fiddler2 中没有流量,如果我设法以正确的方式配置它的话)

所以我从 2 天起就一直被这个问题困扰着,如果有人知道如何使这个 ajax 调用工作,那会让我很高兴:-)

(soapEnv 是发送到服务器的 XML 信封)

最佳答案

好吧,我知道从前 jQuery 有一个错误,它将请求状态 0 视为错误。从文件协议(protocol)运行时,状态 0 与 200(确定)相同。您可能需要更新您的 jQuery 版本。

或者,为了检验我的理论,只需向您的服务发送一个普通的 XHR 请求,看看它是否有效。这是我的股票示例:

http://simonmacdonald.blogspot.com/2011/12/on-third-day-of-phonegapping-getting.html

关于android - 使用 Phonegap 和 JQuery Mobile 的 AJAX 到 Sharepoint Server 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com