请求失败.来自服务器的意外响应.联机 SharePoint 2013 中的空错误



我正在处理一项任务,我们必须根据登录用户从名为"员工"的列表中获取所有值,并以自定义表单加载。 在此表格中,当我们单击"提交"时,所有详细信息都必须设置或存储在"提名"表格中。 所有功能都很好,值完美地存储在列表中。 唯一的问题是警报,当添加值时,它显示失败错误为:

请求失败。来自服务器的意外响应。零

请帮助如何克服此错误。

这是我的表格:

<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());
}

我认为这是因为您没有为 empName 属性分配值。

camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef 
Name='EmployeeName'/>'+
'<Value Type="Lookup">' + **empName** + '</Value></Eq></Where></Query></View>');

最新更新