我对JavaScript对象模型(JSOM)相当新的,我想做一个简单的调用来获得字段值。C#非常容易,但即使我有listitem:,我似乎无法获得字段值

overrideContext.Templates.Item = customItem;
function customItem(context) {
var title = context.CurrentItem["Title"];
var img = "<img src='" + getImageUrl(1) +  "' />";
return title + img;

function getImgUrl(classID) {
var clientContext = new SP.ClientContext();
var web = clientContext.get_web();
var sourceList = web.get_lists().getByTitle('ClassifiedImages');
var listItem = sourceList.getItemById(classID);


clientContext.load(listItem);
clientContext.executeQueryAsync(Function.createDelegate(this, function () { _returnParam = onSuccess(); }), Function.createDelegate(this, function () { _returnParam = onFail(); }));

return _returnParam;
}
.

我不想使用异步执行。我需要立即返回的值。 由于我有listitem,为什么我刚才说返回listitem [“title”];??

有帮助吗?

解决方案

本地CSOM仅允许异步调用。 如果您想克服该方法,您可以使用框架 http://spservices.codeplex.com/

其他提示

您只对列表项引用,但在执行ExecuteQueryAsync之前,实际列表项不会从服务器获取给您。

直到那么你有任何实际信息要使用。

许可以下: CC-BY-SA归因
scroll top