Sharepoint getlistitems不返回列表项

时间:2012-07-24 15:28:00

标签: jquery sharepoint sharepoint-2010

我对spservices有点新意,我希望我不会问一个已经回答的问题。我已检查,但未能找到解决此问题的其他问题。我正在使用GetListItems来检索存储在列表中的url和titles。现在我正在检索项目,只是将它们显示在临时表中。

它在我创建的一个引用js文件,jquery等的小html页面中完美地工作。

但是,

当我将内容编辑器Web部件设置为指向html文件(使用内容链接)时,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页面的物理地址时,此代码可以正常工作。它抓取列表项并显示正确的内容。当我通过Content Link引用内容编辑器Web部件中的html页面时,会出现问题。如果有人对此有所了解,那将是非常受欢迎的。

谢谢,AA

1 个答案:

答案 0 :(得分: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"