1

私はspservicesに少し慣れていないので、すでに回答されている質問をしないことを願っています。私これと同じ問題に対処する別の質問を確認しましたが、見つけることができませんでした。GetListItemsを使用して、リストに保存されているURLとタイトルを取得しています。現在、アイテムを取得して、一時テーブルに表示しています。

jsファイルやjqueryなどを参照する私が作成した小さなhtmlページで完全に機能します。

だが、

(コンテンツリンクを使用して)htmlファイルを指すようにコンテンツエディタWebパーツを設定すると、javascript(または何か)が機能せず、アイテムが表示されません。私はそれが正確に機能しなくなった場所を見つけました:

 $().SPServices({
                operation: method,
                async: false,
                listName: list,
                CAMLViewFields: fieldsToRead,
                  CAMLQuery: query,
                    completefunc: function (xData, Status) {
         alert("When it's in the Content Editor Web Part, this gets called");
                        $(xData.responseXML).SPFilterNode("z:row").each(function() {
         alert("but this does not");
                            var hyperlink = ($(this).attr("ows_Hyperlink")).split(",");
                            var url = hyperlink[0];
                            var description = hyperlink[1];


                            AddRowToTable(url,description);

                        });                
                    }
        });

前に言ったように、このコードはhtmlページの物理アドレスに移動すると完全に機能します。リストアイテムを取得し、正しいものを表示します。コンテンツリンクを介して、コンテンツエディタWebパーツのhtmlページを参照すると、問題が発生します。誰かがこれについて洞察を持っているなら、それは大歓迎です。

ありがとう、AA

4

1 に答える 1

2

ルートサイトにアクセスする必要があるようです。何らかの理由で、ECMAScriptを使用できない場合

clientContext = new SP.ClientContext();
var oWebsite = clientContext.get_site().get_rootWeb();  //this is the web object
var url = clientContext.get_site().Url; //this is the root url
var listServiceUrl = url + "/_vti_bin/lists.asmx";

location.host + "/_vti_bin/lists.asmx"現在の設定で安全であれば、いつでも使用できます。

于 2012-07-24T18:12:30.050 に答える