Запрос не выполнен. Неожиданный ответ от сервера. нулевая ошибка в Sharepoint 2013 онлайн

1

Я работаю над задачей, в которой мы должны получить все значения из списка с именем "Сотрудники" на основе зарегистрированного пользователя и загрузки в пользовательской форме. Из этой формы, когда мы нажимаем "Отправить", все детали должны быть установлены или сохранены в форме "Номинации". Все функциональные возможности прекрасны, и значения хранятся в списке отлично. Единственная проблема - это предупреждение, когда значения добавляются, отображается ошибка сбоя:

Запрос не выполнен. Неожиданный ответ с сервера. ноль

Пожалуйста, помогите, как преодолеть эту ошибку.

Это моя форма:

<script type="text/javascript" src="/SiteAssets/AddNominees/jquery.min.js"></script>
<script type="text/javascript" src="/SiteAssets/AddNominees/main.js"></script>

<script type="text/javascript" src="/sites/dev/_layouts/15/SP.Runtime.js"></script>
<script type="text/javascript" src="/sites/dev/_layouts/15/SP.js"></script>
<script type="text/javascript" src="/sites/dev/_layouts/15/SP.UserProfiles.js"></script>
<script type="text/javascript" src="/_layouts/15/autofill.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.ui.dialog.js"></script>
<script type="text/javascript" src="/_layouts/15/clienttemplates.js"></script>
<script type="text/javascript" src="/_layouts/15/clientforms.js"></script>
<script type="text/javascript" src="/_layouts/15/clientpeoplepicker.js"></script>

<div class="nominee">
  <div class="form-style-4">
    <label for="field1">
      <div>Employee ID</div><input type="text" name="field1" id="emp_id" disabled  />
    </label>
    <label for="field2">
      <div>Employee Name</div><input type="text" name="field2" id="emp_name" disabled />
    </label>
    <label for="field3">
      <div>Grade</div><input type="text" name="field3" id="grade" disabled />
    </label>
    <label for="field1">
      <div>EMail ID</div><input type="text" name="field1" id="user_email" disabled  />
    </label>
    <label>
      <span>&nbsp;</span><input type="submit" value="Submit" onclick="checkExistingNominees();"/>
    </label>
  </div>
</div>

Это мой файл javascript, main.js:

$(document).ready(function () {
    SP.SOD.executeFunc('clientpeoplepicker.js', 'SP.ClientContext', function () {           
    retrieveListItems();  
    });    

});

var checks = '';
var checksCount = '';

function retrieveListItems() {
debugger;
    var clientContext = new SP.ClientContext.get_current();
    var oList = clientContext.get_web().get_lists().getByTitle('Employees');

    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name=\'EmployeeName\' LookupId="True" />' +
            '<Value Type="User">' +_spPageContextInfo.userId + '</Value></Eq></Where></Query></View>');
    this.collListItem = oList.getItems(camlQuery);

    clientContext.load(collListItem,'Include(EMPID, EmployeeName, EMail, Grade)');
    clientContext.load(collListItem);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));        
}
function onQuerySucceeded(sender, args) {
    debugger;
    var listItemInfo = '';
    var listItemEnumerator = collListItem.getEnumerator();     


    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();       
        $("#emp_id").val(oListItem.get_item('EMPID'));
        $("#emp_name").val(oListItem.get_item('EmployeeName').get_lookupValue());
        $("#user_email").val(oListItem.get_item('EMail'));
    }

}

function onQueryFailed(sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());

}

function checkExistingNominees()
{
    debugger;
    var clientContext = new SP.ClientContext.get_current();
    var oList = clientContext.get_web().get_lists().getByTitle('Nominations');
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name=\'EmployeeName\'/>' +
            '<Value Type="Lookup">' + empName + '</Value></Eq></Where></Query></View>');
    checks = oList.getItems(camlQuery);
    clientContext.load(checks);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded3), Function.createDelegate(this, this.onQueryFailed3)); 
}
function onQuerySucceeded3(sender, args)
{
    checksCount = checks.get_count();
    if(checksCount > 0)
    {
        alert("You are already registered to this training");
        closeModalDialog();
    }
    else
    {
        createListItem();
    }
}

function onQueryFailed3(sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());

}

function createListItem() {
    var clientContext = new SP.ClientContext.get_current();
    var listName = clientContext.get_web().get_lists().getByTitle('Nominations');
    var itemCreateInfo = new SP.ListItemCreationInformation(); 
    var txtEmpID = document.getElementById('emp_id').value; 
    var txtEmpName = document.getElementById('emp_name').value;
    var txtGrade = document.getElementById('grade').value;
    var txtEMailID = document.getElementById('user_email').value;       
   var oListItem = listName.addItem(itemCreateInfo);
   oListItem.set_item('EMPID', txtEmpID); 
   oListItem.set_item('EmployeeName', SP.FieldUserValue.fromUser(txtEmpName) ); 
   oListItem.set_item('Grade', txtGrade); 
   oListItem.set_item('EMail', txtEMailID); 
   oListItem.update();
   clientContext.load(oListItem);
   clientContext.executeQueryAsync(
        Function.createDelegate(this, this.onQuerySuccess), 
        Function.createDelegate(this, this.onQueryFail)
    );

}

function onQuerySuccess() {
     alert('Nomination added successfully ');
     closeModalDialog();

}

function onQueryFail(sender, args) {
    alert('Request failed. ' + args.get_message() + 
        '\n' + args.get_stackTrace());

}
Теги:
sharepoint

1 ответ

0

Я думаю, это потому, что вы не назначаете значение для свойства empName.

camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef 
Name=\'EmployeeName\'/>'+
'<Value Type="Lookup">' + **empName** + '</Value></Eq></Where></Query></View>');
  • 0
    Не повезло. Та же ошибка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню