Как получить данные списка sharepoint 2013 с помощью JQuery или JavaScript и заполнить DropDownList?

Я пытаюсь получить данные списка с помощью JavaScript. Но что-то идет не так. Я пытаюсь отладить код, но не могу понять это.
Ниже приведен код JavaScript:

ExecuteOrDelayUntilScriptLoaded(PopulateDepartments, "sp.js");
var _ctx = null;
var _web = null;
var _allItems = null;

function PopulateDepartments() {
    debugger;
    _ctx = SP.ClientContext.get_current();
    _web = _ctx.get_web();
    var list = _web.get_lists().getByTitle("ServiceType");
    var query = new SP.CamlQuery();
    query.set_viewXml("<View><Query><OrderBy><FieldRef Name='Title'/></OrderBy></Query></View>");
    _allItems = list.getItems(query);
    _ctx.load(_allItems, 'Include(Title,ID)');
    debugger;
    _ctx.executeQueryAsync(Function.createDelegate(this, this.PopulateDepartmentSuccess),
        Function.createDelegate(this, this.PopulateDepartmentFaild));
}

function PopulateDepartmentSuccess() {
    var ddlEntry = this.document.getElementById("ddl1");
    ddlEntry.options.length = 0;
    var listEnumerator = _allItems.getEnumerator();
    while (listEnumerator.moveNext()) {
        var currentItem = listEnumerator.get_current();
        ddlEntry.options[ddlEntry.options.length] = new Option(currentItem.get_item("Title"), currentItem.get_item("ID"));
    }
}

function PopulateDepartmentFaild() {
    alert("Something went Wrong....!!");
}

Всякий раз, когда я запускаю этот код, он показывает мне окно с предупреждением.
Пожалуйста, помогите..


person Rahul Gokani    schedule 15.02.2013    source источник
comment
вы пытались использовать только <OrderBy><FieldRef Name='Title'/></OrderBy> в своем запросе и установить его в атрибуте запроса вместо set_viewXml ?   -  person MatRt    schedule 15.02.2013
comment
Эй, @ user1073122 Я пробовал это, но это не работает. Тем не менее он отображает всплывающее окно с предупреждением.   -  person Rahul Gokani    schedule 15.02.2013
comment
Я предположил, что вы исправили опечатку в PopulateDepartmentFaild?   -  person Eric Herlitz    schedule 16.02.2013
comment
@Trikks Да ... Я по ошибке поставил эту штуку. Это не главная проблема.   -  person Rahul Gokani    schedule 18.02.2013


Ответы (2)


Бывают случаи, когда это не принимает правильную ссылку. Проверьте, работает ли она с удалением этой ссылки. Поэтому вместо этого _ctx.executeQueryAsync (Function.createDelegate (this, this.PopulateDepartmentSuccess), Function.createDelegate (this, this.PopulateDepartmentFaild ));

попробуйте использовать что-то вроде этого

_ctx.executeQueryAsync (PopulateDepartmentSuccess, PopulateDepartmentFaild);

person Swati    schedule 13.05.2014
comment
Спасибо за ответ. Я решил проблему другим способом. - person Rahul Gokani; 13.05.2014

Я думаю. Если вы создаете приложение Sharepoint, необходимо предоставить разрешения для Интернета в AppManifest.xml.

person Vikrant Bhave    schedule 24.10.2016
comment
Пожалуйста, объясните подробно. В противном случае это должен быть комментарий. Не ответ. Если у вас недостаточно репо, подождите, наберитесь терпения, сгенерируйте репо положительно. - person Bhavik Shah; 24.10.2016