如何使用javascript读取sharePoint列表项值(当前项)

时间:2011-11-29 23:37:56

标签: javascript list sharepoint

我必须从图片库中读取标题和位置并使用CEWP进行显示。

有人可以建议如何使用Javascript读取SharePoint列表项值。

5 个答案:

答案 0 :(得分:14)

您可以使用JavaScript客户端对象模型。假设窗口的_spPageContextInfo对象设置为初始化webServerRelativeUrlpageListIdpageItemId属性:

var context = new SP.ClientContext(_spPageContextInfo.webServerRelativeUrl);
var list = context.get_web().get_lists().getById(_spPageContextInfo.pageListId);
var item = list.getItemById(_spPageContextInfo.pageItemId);

然后你可以加载你需要的字段:

context.load(item, "Title", "Location");
context.executeQueryAsync(Function.createDelegate(this, this.mySuccessFunction), Function.createDelegate(this, this.myErrorFunction));

item现在将填充您请求的字段,您可以像这样检索它们:

var itemTitle = item.get_item("Title");
var itemLocation = item.get_item("Location");

请注意,您应该使用要加载的字段的显示名称,而不是内部名称。

答案 1 :(得分:3)

在SharePoint 2010中,您可以使用三种不同类型的客户端对象模型扩展。它们是托管客户端对象模型,ECMAScript和silverlight扩展。

此链接更接近您的要求How to: Retrieve Lists Using JavaScriptHow do you get the current list item in JavaScript?

SP.ListOperation.Selection Methods

var value = SP.ListOperation.Selection.getSelectedItems();

查看以下链接以获取更多信息:
SharePoint 2010: Use ECMAScript to manipulate (Add/Delete/Update/Get) List Items
Accessing List Data using the JavaScript Client OM
Using the SP2010 Client Object Model to update a list item How to – SharePoint 2010 – JS client object model and UI advancements

答案 2 :(得分:2)

您可以使用jQuery通过SharePoint Web Services访问列表项。例如,请参阅此处 - SharePoint Web Services with jQuery

答案 3 :(得分:1)

if _spPageContextInfo.pageItemId is undefined.
Use this function
function getUrlVars() {
var vars = [],
    hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
    hash = hashes[i].split('=');
    vars.push(hash[0]);
    vars[hash[0]] = hash[1];
}
return vars;
}
//THEN DO THIS
var id = getUrlVars()["ID"];
//THEN DO YOUR MAGIC
var context = new SP.ClientContext(_spPageContextInfo.webServerRelativeUrl);
var list = context.get_web().get_lists().getById(_spPageContextInfo.pageListId);
var item = list.getItemById(id);

答案 4 :(得分:-1)

在SP2010中,有新的客户端API,允许您通过JavaScript与SharePoint网站进行交互

SharePoint 2010 Client Object Model

JavaScript Class Library