2014-12-11 1 views
0

Очень новый для всего этого.Основная обработка SharePoint 365 REST API - поместить результат в div?

В качестве учебного упражнения я пытаюсь обновить сообщение «id» div на странице SharePoint с результатом, возвращаемым вызовом API REST.

Я могу скопировать/вставить свой url запроса в свой браузер и получить результат, поэтому я не могу представить, что это проблема, но когда я встраиваю следующий сценарий, я не могу получить успех или неудачу что-либо сделать ,

Любая помощь будет высоко оценена.

<div id="message"></div> 

<input type="button" value="Get" onclick="doGet();" > 
<script> 

function doGet() 
    { 

var call = jQuery.ajax({ 
     url: "https://X/sites/forms/_api/web/lists/getByTitle('Y')/items?$select=Z&$top=1", 
     type: "GET", 
     dataType: "json", 
     headers: { 
      Accept: "application/json;odata=verbose" 
     } 
    }); 

    call.done(function (data,textStatus, jqXHR) { 
    alert("CallDone"); 
    var message = jQuery("#message"); 

    jQuery.each(data.d.results, function (index, item) { 
    message.append("<br/>"); 
    message.append(item.Z); 
    $get("message").innerHTML = item.Z; 

    }); 
}); 
    call.fail(function (jqXHR,textStatus,errorThrown){ 
    alert("Call failed");    
    alert("Error retrieving: " + errorThrown); 

    }); 

} 


</script> 
+0

Ваше предупреждение попадает на обратный вызов? – phil

+0

Спасибо за ответ. Ничего от предупреждения. – Dan

ответ

0

просто убедитесь, что вы делаете правильный вызов для службы SP REST:

<button id="button" type="button">Get Data</button> 

$('#button').click(function (e) { 
    e.preventDefault(); 
    doGet(); 
}); 

function doGet() { 
var resultDiv = $('#message'); 
$.ajax({ 
    url: "https://X/sites/forms/_api/web/lists/getByTitle('Y')/items?$select=Z&$top=1", 
    type: "GET", 
    dataType: "json", 
    headers: { 
     Accept: "application/json;odata=verbose" 
    }, 
    beforeSend: function() { 
     console.info("Loading Data"); 
     resultDiv.empty(); 
     resultDiv.append(
      $('<p>', { class: 'bg-warning', text: 'Loading....' }) 
     ); 
    }, 
    success: function (data) { 
     resultDiv.empty(); 
     $.each(data.value, function (index, value) { 
      resultDiv.append(
       $('<p>', { class: 'bg-warning', text: value.YOURPROPERTY }) 
      ); 
     }) 
    }, 
    error: function (data) { 
     console.error("Error retieving: " + data); 
     resultDiv.empty(); 
     resultDiv.append(
      $('<p>', { class: 'bg-error', text: data }) 
     ); 
    } 
}); 

}

Надежда это помогает, и если это произойдет, не забудьте пометить его в качестве ответа

+0

Я думаю, что это приблизило меня. Сначала мне нужно было загрузить ajax. Теперь я могу получить консольные сообщения до упора в функцию успеха, но я получаю эту ошибку: «Некопать TypeError: Не удается прочитать результаты свойства« неопределенного »после resultDiv.empty(); – Dan

+0

мог бы, пожалуйста, поделиться ссылкой, чтобы я мог помочь вам больше? – DeividKamui

+0

Привет, Дейвид. Я очень рад сообщить, что получил работу. По какой-то причине мне нужно было использовать data.value вместо data.d.results. Также я нашел полезный короткий бит кода $ .getJSON, который помог мне добиться определенного прогресса. Вы отредактируете data.d.results на data.value в своем коде выше? – Dan

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