Angular JS$http与SharePoint Rest解析响应

Angular JS $http with SharePoint Rest Parsing the response

本文关键字:Rest 响应 SharePoint JS http Angular      更新时间:2023-09-26

在通过$http访问sharepoint rest端点时,我得到了一个非常奇怪的响应。

    var _get = function($scope) {
            var lName = $scope.wp.lName;
            var filter = $scope.wp.filter;
            var url = $scope.wp.url;    
            var differed = $q.defer();
            var tUrl = <url>
            $http({
            method:'GET',
            url:tUrl,
            headers: { "Accept": "application/json; odata=nometadata" }
            })
            .then(
             function (data) {
               $scope.alert = data.data.value;
               differed.resolve($scope.alert);
               },
             function (data, status, headers, config) {
                 console.log(data);
           });
            return differed.promise;
    }

基本上,我已经建立了一个角度工厂,它具有在sharepoint上执行crud操作所需的所有功能。我调用SPGet方法来查询sharepoint列表中的列表项。调用成功解析,没有出现错误,但我得到了一个非常奇怪的输出。

"<?xml version="1.0" encoding="utf-8"?><feed xml:base="<base>" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"><id>b8b4ee0c-a5ce-4ef0-92ec-b529ccdc2997</id><title /><updated>2015-06-23T14:26:58Z</updated><entry m:etag="&quot;2&quot;"><id>Web/Lists(guid'81419977-601f-46bd-aee5-8e6ebbb34b48')/Items(2)</id><category term="SP.Data.SystemAlertListItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /><link rel="edit" href="Web/Lists(guid'81419977-601f-46bd-aee5-8e6ebbb34b48')/Items(2)" /><title /><updated>2015-06-23T14:26:58Z</updated><author><name /></author><content type="application/xml"><m:properties><d:Title>Test B</d:Title><d:Status>In Progress</d:Status><d:Severity>Med</d:Severity></m:properties></content></entry><entry m:etag="&quot;2&quot;"><id>Web/Lists(guid'81419977-601f-46bd-aee5-8e6ebbb34b48')/Items(3)</id><category term="SP.Data.SystemAlertListItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /><link rel="edit" href="Web/Lists(guid'81419977-601f-46bd-aee5-8e6ebbb34b48')/Items(3)" /><title /><updated>2015-06-23T14:26:58Z</updated><author><name /></author><content type="application/xml"><m:properties><d:Title>Test C</d:Title><d:Status>Open</d:Status><d:Severity>Low</d:Severity></m:properties></content></entry><entry m:etag="&quot;2&quot;"><id>Web/Lists(guid'81419977-601f-46bd-aee5-8e6ebbb34b48')/Items(4)</id><category term="SP.Data.SystemAlertListItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /><link rel="edit" href="Web/Lists(guid'81419977-601f-46bd-aee5-8e6ebbb34b48')/Items(4)" /><title /><updated>2015-06-23T14:26:58Z</updated><author><name /></author><content type="application/xml"><m:properties><d:Title>Test D</d:Title><d:Status>Closed</d:Status><d:Severity>High</d:Severity></m:properties></content></entry><link rel="next" href="http://intersys-tc3:8000/sites/SA/_api/web/lists/GetByTitle('SystemAlert')/items?%24skiptoken=Paged%3dTRUE%26p_Severity%3dHigh%26p_ID%3d4&amp;%24orderby=Severity+desc&amp;%24top=3&amp;%24select=Title%2cStatus%2cSeverity&amp;%24filter+Status+eq+%27Open%27+or+Status+eq+%27In+Progress%27=" /></feed>"

我该如何解析?它似乎返回了预期的项,但我不确定如何解析它。

使用xml2json.js将输出转换为json,然后像往常一样迭代

odata=nometadata用于SharePoint联机。

如果你在prem,你仍然想使用odata=verbose