SharePoint 365 REST API基本处理 - 将结果放入div?

时间:2014-12-11 18:34:03

标签: html api rest sharepoint

这一切都很新鲜。

作为一项学习练习,我正在尝试使用REST API调用返回的结果更新SharePoint页面上的div“消息”。

我可以将我的查询网址复制/粘贴到我的浏览器中并获得结果,所以我无法想象这是问题所在,但是当我嵌入以下脚本时,我似乎无法成功或失败。

非常感谢任何帮助。

<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>

1 个答案:

答案 0 :(得分: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 })
        );
    }
});

}

希望这会有所帮助,如果确实如此,请不要忘记将其标记为答案