SharePoint - 비동기 호출없이 JSOM + JSLink를 사용하여 필드 값을 가져 오는 방법

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96071

문제

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.codex.com//a>와 같은 프레임 워크를 사용할 수 있습니다.

다른 팁

목록 항목에 대한 참조 만 있지만 실제 목록 항목은 ExecuteQueryAsync를 수행 할 때까지 서버에서 가져 오지 않습니다.

그때까지는 실제 정보가 없으므로

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top