0

SPServices を使用して、サイト コレクションの SharePoint リストを正常にクエリしています。現在、別のチームのために 2 番目のサイト コレクションがあり、最初のサイト コレクションで既にホストされているデータを確認したいと考えています (いいえ、同じサイト コレクションを使用することはできません)。元のサイト コレクションのデータに対してクエリを実行して CEWP ビューを作成したいのですが、2 番目のサイト コレクションから実行するとコードが機能しません。最初のサイトで機能するものは次のとおりです。

$().SPServices({
    operation: 'GetListItems',
    async: false,
    listName: 'Requests',
    CAMLViewFields: "<ViewFields>" +
                        "<FieldRef Name='ID' />" +
                        "<FieldRef Name='Title' />" +
                        "<FieldRef Name='Description' />" +
                        "<FieldRef Name='Assignee' />" +
                    "</ViewFields>",
    CAMLQuery: "<Query><Where><Eq><FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Eq></Where></Query>",
    completefunc: function (xData, Status) {
        $(xData.responseXML).SPFilterNode("z:row").each(function() { 
            id = $(this).attr("ows_ID");
            title = $(this).attr("ows_Title");
            description = $(this).attr("ows_Description");
            assignee = $(this).attr("ows_Assignee").split(";#");
            //some more formulas
        });
    }
});

これを変更して、同じこと (元の SharePoint リストからデータを取得する) を別のサイト コレクションから行うにはどうすればよいですか?

4

2 に答える 2

0

次のようにwebUrlプロパティを追加して試すことができます。

$().SPServices({
webUrl: "https://sitecollectionUrl/"
operation: 'GetListItems',
async: false,
listName: 'Requests',
CAMLViewFields: "<ViewFields>" +
                    "<FieldRef Name='ID' />" +
                    "<FieldRef Name='Title' />" +
                    "<FieldRef Name='Description' />" +
                    "<FieldRef Name='Assignee' />" +
                "</ViewFields>",
CAMLQuery: "<Query><Where><Eq><FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Eq></Where></Query>",
completefunc: function (xData, Status) {
    $(xData.responseXML).SPFilterNode("z:row").each(function() { 
        id = $(this).attr("ows_ID");
        title = $(this).attr("ows_Title");
        description = $(this).attr("ows_Description");
        assignee = $(this).attr("ows_Assignee").split(";#");
        //some more formulas
    });
}});

https://itsharedspace.wordpress.com/2013/10/17/get-list-items-with-spservices/

于 2016-02-16T16:55:52.113 に答える
0

これが、最初のサイト コレクションから 2 番目のサイト コレクションのデータを取得する作業に取り掛かった結果です。すべての SPServices を ajax で書き直す必要がありました。

$.ajax({
    async: true,
    crossDomain: true,
    url: "http://sitecollectionUrl/_api/Web/Lists/GetByTitle('Requests')/Items$filter=startswith(ID, 'test')&$orderby=ID",
    method: "GET",
    headers: {
        "accept": "application/json;odata=verbose",
        "cache-control": "no-cache",
        "postman-token": "452d273c-96f4-d2a1-bd34-463ab627e4ab"
    },
    success: function (data) {
        $.each(data.d.results, function (index, item) {
            id = item.ID;
            title = item.Title;
            description = item.Description;
            //some more formulas
        });
    },
    complete: function (data) {
        //some more formulas
    }
});
于 2016-03-09T22:53:25.507 に答える