【问题标题】:CAML Query not working - stumpedCAML 查询不工作 - 难倒
【发布时间】:2012-10-12 20:50:22
【问题描述】:

我正在尝试使用 CAML 查询根据通过 Javascript 检索的“cardID”值从 SharePoint 2007 列表中查找项目。我可以看到该值已分配给变量,但每当我尝试添加查询时,列表不再显示。我希望有更多经验的人可以澄清我做错了什么。

注意:我使用 u2u CAML 工具生成此查询。当我从那里执行它时,它返回一个有效的结果,而不是当我尝试将它与 jQuery 结合使用时。

 <script language = "javascript">  function GetAnnouncementData()  {  var soapPacket = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
    <soapenv:Body> \
     <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
      <listName>eCards</listName> \ 
      <View> \ 
      <Query><Where>
      <Eq>
         <FieldRef Name='Title' />
         <Value Type='Text'>116</Value>
      </Eq></Where> </Query>
       <ViewFields> \   
      <FieldRef Name='Title' /> \ 
      <FieldRef Name='Greeting' /> \   
      <FieldRef Name='Message'/> \
      <FieldRef Name='Card' /> \
       </ViewFields> \ </View> \
     </GetListItems> \
    </soapenv:Body> \    </soapenv:Envelope>";  jQuery.ajax({    >url: "http://localhost/place/_vti_bin/lists.asmx",    type: "POST",    dataType: "xml",    data: soapPacket,    complete: processResult,    contentType: "text/xml; charset=\"utf-8\""   });  }  function processResult(xData, status) {   jQuery(xData.responseXML).find("z\\:row").each(function() {

JSRequest.EnsureSetup(); var cardID = JSRequest.QueryString["cardID"];

 $("<li>" + $(this).attr("ows_Title") + "</li>").appendTo("#AnnouncementData");  });  }

$(document).ready( function(){  GetAnnouncementData();  });   </script>

我还尝试将“cardID”替换为列表中的预定义值。仍然没有返回任何结果。 :(

【问题讨论】:

    标签: jquery sharepoint caml


    【解决方案1】:

    请先使用 u2u CAML Builder 工具测试您的 CAML 查询: http://www.u2u.be/res/tools/camlquerybuilder.aspx

    您可以使用 Fiddler 查看 Web 服务和运行 JavaScript 的浏览器之间的流量。使用 Chrome 调试 JavaScript(按 F12)。 http://www.fiddler2.com/fiddler2/

    类似的代码在这里: http://community.office365.com/en-us/forums/153/p/13711/63998.aspx

    【讨论】:

    • 我可能应该在我的原始帖子中提到这一点。我使用了 u2u CAML 工具来生成这个查询。当我从那里执行它时,它返回一个有效的结果,而不是当我尝试将它与 jQuery 结合使用时。
    • 使用 Fiddler 查看请求/响应并调试您的 JavaScript。再试一次! “授人以鱼,养其一日。授人以渔,养其一生”。
    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多