首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Sharepoint列表Web服务返回并保存XML对象

问从Sharepoint列表Web服务返回并保存XML对象
EN

Stack Overflow用户
提问于 2010-03-17 03:44:19
回答 1查看 925关注 0票数 0

我试图在页面加载时使用来自ajax调用的XML响应填充一个变量,以便在keyup时可以过滤该列表,而无需进行重复的get请求(考虑非常初级的autocomplete)。我遇到的麻烦似乎潜在地与变量作用域有关,但我对js/jQuery相当陌生,所以我不太确定。

下面的代码没有对key up做任何事情,向它添加警报告诉我它正在对keyup执行leadResults(),变量返回一个XML response对象,但它看起来是空的。奇怪的是,如果我将leadResults()调用移到getResults()函数中,UL就会正确地填充结果。

这一次我的头撞到墙上了,请帮帮忙!

代码语言:javascript
复制
var resultsXml;

$(document).ready( function() {
    var leadLookupCaml =
         "<Query> \
            <Where> \
                <Eq> \
                  <FieldRef Name=\"Lead_x0020_Status\"/> \
                  <Value Type=\"Text\">Active</Value> \
                </Eq> \
            </Where> \
         </Query>"

    $().SPServices({
                    operation: "GetListItems",
                    webURL: "http://sharepoint/departments/sales",
                    listName: "Leads",
                    CAMLQuery: leadLookupCaml,
                    CAMLRowLimit: 0,                    
                    completefunc: getResults    
                });

})

$("#lead_search").keyup( function(e) {

leadResults();

})



function getResults(xData, status) {
resultsXml = xData;

}   

function leadResults() {
xData = resultsXml;
   $("#lead_results li").remove();
   $(xData.responseXML).find("z\\:row").each(function() {

        var selectHtml = 
            "<li>"
             + "<a href=\"http://sharepoint/departments/sales/Lists/Lead%20Groups/DispForm.aspx?ID=" + $(this).attr("ows_ID") + ">" + $(this).attr("ows_Title")+" : " + $(this).attr("ows_Phone")    + "</a>\
             </li>";
        $("#lead_results").append(selectHtml);



    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-17 03:49:09

在校对了我的提交之后,这是非常明显的!ajax调用需要同步进行。将async设置为false可节省时间!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2457544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档