2012-10-22 1 views
0

Javascript를 통해 검색되는 "cardID"값을 기반으로 SharePoint 2007 목록에서 CAML 쿼리를 사용하여 항목을 찾으려고합니다. 값이 변수에 할당되는 것을 볼 수 있지만 쿼리를 추가 할 때마다 목록이 더 이상 표시되지 않습니다. 더 많은 경험을 가진 사람이 내가 잘못하고있는 것을 정리할 수 있기를 바랍니다.CAML 쿼리가 작동하지 않음 - 스텀프가 됨

참고 :이 쿼리를 생성하기 위해 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"를 목록에있는 미리 정의 된 값으로 바꾸려고했습니다. 아직 결과가 반환되지 않습니다. :(

+0

덕분에 raina77ow – snapplex

답변

0

먼저 CAML 쿼리를 테스트하기 위해 U2U CAML 빌더 도구를 사용하십시오 : 는 http://www.u2u.be/res/tools/camlquerybuilder.aspx

당신은 웹 서비스와 자바 스크립트를 실행하는 브라우저 사이의 트래픽을 볼 수 피들러를 사용할 수있는 자바 스크립트 디버깅이 (크롬을 사용. F12 키를 눌러) http://www.fiddler2.com/fiddler2/

여기

유사 코드 :.!. http://community.office365.com/en-us/forums/153/p/13711/63998.aspx

+0

을 아마 내 원래의 게시물에서 언급해야 내가 사용하는 일 e u2u CAML 도구를 사용하여이 쿼리를 생성합니다. 거기에서 실행하면 jQuery와 함께 사용할 때 올바른 결과를 반환하지 않습니다. – snapplex

+0

Fiddler를 사용하여 요청/응답을보고 JavaScript를 디버그하십시오. 또 한번 시도해보십시오! "남자에게 물고기를주고 하루 동안 먹이십시오. 남자에게 고기를 가르치면 평생 동안 먹일 수 있습니다." – sainiuc

관련 문제