CAML查询无法正常工作 - 难倒

时间:2012-10-22 23:52:50

标签: jquery sharepoint caml

我正在尝试使用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”。仍然没有返回结果。 :(

1 个答案:

答案 0 :(得分:0)

请先使用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