使用JS和REST显示GET请求的结果

时间:2017-03-24 10:41:17

标签: javascript rest sharepoint-2010

我正在尝试使用内容编辑器Web部件获取并在SharePoint列表enter image description here中显示一个字段。这只是概念证明,我希望CWP显示标题(货币)和货币描述。我想我只需要一个调整,并想了解我做错了什么。 var查询URL显示标题正确。

最终我想要做的是存储“汇率”列中返回的值,以便当用户在单独的列表中选择一个drop don时,它将按汇率转换为一个金额。

感谢任何帮助。代码如下:

<script type="text/javascript">


    DisplayExchangeRate();

    function  DisplayExchangeRate()
    {
        var listName = "Currency Exchange Rates";
        var titleField = "Title";
        var rateField = "Currency Description";



        var query = "http://collaboration-dev.norgine.com/sites/it/Tools/IT-    Contracts/_vti_bin/listdata.svc/CurrencyExchangeRates? 
 $select=Title,ExchangeRate&$filter=Title eq 'Dollars'";
        var call = $.ajax({
            url: query,
            type: "GET",
            dataType: "json",
            headers: {
                Accept: "application/json;odata=verbose"
            }       
        });
        call.done(function (data,textStatus, jqXHR){
        $.each(data.d.results, function (i, result) {


                $("#CurrencyExchangeRatesTitle").text(result.Title);
                $("#CurrencyExchangeRatesCurrencyDescription").html 
    (result.CurrencyDescription);

        });

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

    }



</script>

2 个答案:

答案 0 :(得分:0)

我不相信您可以将JavaScript直接放入内容编辑器Web部件中。请尝试使用脚本编辑器Web部件(与CEWP位于相同类别的Web部件中),或使用JavaScript将CEWP指向本地HTML页面。

http://info.summit7systems.com/blog/dont-script-in-the-wrong-web-part

此外,您似乎正在使用JQuery。您是否在其他地方成功加载了该库?

答案 1 :(得分:0)

下面是我的工作代码,我已将此代码保存在文本文件中,并将该文件上传到&#34; Site Assets&#34;库并将我的CEWP指向此代码文件。

<script type="text/javascript" src="https://test.sharepoint.com/sites/devsite/SiteAssets/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var i,result;
$('#getEmployee').click(function () {
var dispalyResults="";
$.ajax({
  url: "https://test.sharepoint.com/sites/devsite/_api/web/lists/getbytitle('Employee')/items",
    method: "GET",
    headers: { "Accept": "application/json;odata=verbose" },
    success: function (data) {
        var jsondata = JSON.stringify(data);
        result = JSON.parse(jsondata).d.results;
        for (i = 0; i < result.length; i++) {
            dispalyResults+="<p><h1>"+ result[i].ID + "   " + result[i].Title +"</h1></p>"; 
        }

     $('#displayResults').html(dispalyResults);
    },
    fail: function () {
        alert("Response fails");
    }
})
})

})
</script>
<input type="button" value="GET" name="GET" id="getEmployee"/>
<div id="displayResults"></div>

我创建了一个按钮和一个DIV标签。当我单击按钮时,它将在DIV标记内显示列表项Title和ID。