2015-09-18 1 views
0

У меня есть следующий код, как показано ниже. Я использую конверт SOAP здесь, чтобы отменить некоторые результаты в AJAX. Если я посмотрю в инструментах разработчика для IE и перехожу к телу ответа, я вижу результаты. Однако я не могу показать их на странице.У меня есть конверт SOAP внутри вызова AJAX, тело запроса отображает результаты, но страница не

$(document).ready(function() { 
      var soapEnv = "<soapenv:Envelope  xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \ 
       <soapenv:Body> \ 
        <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \ 
         <listName>Topics</listName> \ 
         <viewFields> \ 
          <ViewFields> \ 
           <FieldRef Name='Title' /> \ 
          </ViewFields> \ 
         </viewFields> \ 
        </GetListItems> \ 
       </soapenv:Body> \ 
      </soapenv:Envelope>"; 
     $.ajax({ 
      url: "mysite/subsite/_vti_bin/lists.asmx", 
      type: "POST", 
      dataType: "xml", 
      data: soapEnv, 
      contentType: "application/xml; charset=utf-8", 
      async:true, 
     success: function (dataBack) { 
      $("#Result").text(dataBack["d"]); 
     }, error : alert("error"), 
      contentType: "text/xml; charset=\"utf-8\"" 
     }); 
    }); 

<div id="Results"></div> 

Просьба сообщить.

+0

является то, что опечатка здесь или в вашем производственном коде ... $ ("# Result") vs id = "Result ** s **" –

+0

Зачем вам это делать? Это похоже на непонимание и использование технологий. Лучший вопрос должен быть тем, что вы пытаетесь на самом деле сделать? – LCarter

+0

Если вы получаете тело ответа в консоли, вполне вероятно, что существует проблема с '$ (" # Result "). Text (dataBack [" d "]);' part. Возможно, 'console.log (dataBack)' или 'console.dir (dataBack)', а также 'console.dir ($ ('# Result')', чтобы проверить, что тело ответа присутствует, и указанный элемент, который вы размещаете ответ может быть затронут как написано. – mopsyd

ответ

0

Ваш вызов ajax возвращает xml (dataBack), поэтому dataBack["d"] не имеет смысла. Кажется, вы смешиваете его с JSON.

0

Вы используете SP2013? Вы можете легко позвонить /_api/Web/Lists/GetByTitle ('темы')/Items

См https://msdn.microsoft.com/en-us/library/office/dn292552.aspx

+0

Хорошо, я снова посмотрел на вопрос. Извините, я был очень болен, когда я разместил это. https://msdn.microsoft.com/en-us/library/office/hh185007(v=office.14).aspx Объясняет, что я пытаюсь сделать. Я добавил ссылки для javascript и sp.js. Я где-то читал, что мне нужно было включить MicrosoftAjax, но я не вижу, чтобы он упоминался где-то в качестве хостинга? Просто сейчас чувствую себя выздоравливающим. –

+0

Нет, у нас 2010 год. Это была большая проблема, которую я только что обнаружил. –

0

Фактический ответ на этот вопрос для меня был ... Да, я могу использовать Запрос CAML без конверта SOAP. Вместо этого я использую CSOM. Вначале мне не хватало ссылок, поэтому я начал использовать SOAP. В конце концов я нашел местоположение отсутствующей ссылки и что она не была размещена, а в папке Layout!

Смежные вопросы