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」をリストにある定義済みの値に置き換えてみました。それでも結果は返されません。:(