REST 请求后在控制台中抑制 500 错误
suppress 500 errors in console after REST request
我正在通过 Javascript 进行多次 REST 调用以确定用户是否在多个 Sharepoint 组中。
如果用户不在组中,REST
请求 returns 状态 500
,并附上一条消息 "user cannot be found"
。
当返回错误时,我用 "false"
解决了我的承诺,所以我的函数工作正常。
但是 - 500
的每个 REST 响应都会在 Javascript 控制台中放置一个 error
条目 - 是否可以抑制这些条目?
我知道它们不会影响功能,但会使控制台变得混乱。
function IsUserInGroupNumber(permissionRequested,userEmail,groupNumber){
var deferred=$.Deferred();
var url=L_Menu_BaseUrl+"/_api/web/sitegroups("+groupNumber+")/Users/getByEmail('"+userEmail+"')/Email";
$.ajax({
type: 'GET',
url: url,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json; odata=verbose");
},
processData: false,
success: function (data)
{
deferred.resolve({requestedPermission:permissionRequested,groupNumber:groupNumber,hasPermission:true});
},
error: function(data){
//user not found in the group returns a 500 error - but return value of 'false'
deferred.resolve({requestedPermission:permissionRequested,groupNumber:groupNumber,hasPermission:false});
}
});
return deferred.promise();
}
该服务不应使用 500 状态代码进行响应。这意味着服务器上的某些东西出现故障。您无法控制 JavaScript 控制台/浏览器如何解释和解决错误或状态。
另外,从 jQuery 1.5 开始,$.ajax
已经 returns 一个承诺:http://api.jquery.com/jquery.ajax/
您可以通过以下方式大大简化您的代码:
function IsUserInGroupNumber(permissionRequested, userEmail, groupNumber){
return new Promise(resolve, reject) {
$.ajax({
type: 'GET',
url: L_Menu_BaseUrl + "/_api/web/sitegroups(" + groupNumber + ")/Users/getByEmail('" + email + "')/Email",
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json; odata=verbose");
},
processData: false,
})
.done(function() {
resolve(true)
})
.fail(function() {
resolve(false)
})
}
我正在通过 Javascript 进行多次 REST 调用以确定用户是否在多个 Sharepoint 组中。
如果用户不在组中,REST
请求 returns 状态 500
,并附上一条消息 "user cannot be found"
。
当返回错误时,我用 "false"
解决了我的承诺,所以我的函数工作正常。
但是 - 500
的每个 REST 响应都会在 Javascript 控制台中放置一个 error
条目 - 是否可以抑制这些条目?
我知道它们不会影响功能,但会使控制台变得混乱。
function IsUserInGroupNumber(permissionRequested,userEmail,groupNumber){
var deferred=$.Deferred();
var url=L_Menu_BaseUrl+"/_api/web/sitegroups("+groupNumber+")/Users/getByEmail('"+userEmail+"')/Email";
$.ajax({
type: 'GET',
url: url,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json; odata=verbose");
},
processData: false,
success: function (data)
{
deferred.resolve({requestedPermission:permissionRequested,groupNumber:groupNumber,hasPermission:true});
},
error: function(data){
//user not found in the group returns a 500 error - but return value of 'false'
deferred.resolve({requestedPermission:permissionRequested,groupNumber:groupNumber,hasPermission:false});
}
});
return deferred.promise();
}
该服务不应使用 500 状态代码进行响应。这意味着服务器上的某些东西出现故障。您无法控制 JavaScript 控制台/浏览器如何解释和解决错误或状态。
另外,从 jQuery 1.5 开始,$.ajax
已经 returns 一个承诺:http://api.jquery.com/jquery.ajax/
您可以通过以下方式大大简化您的代码:
function IsUserInGroupNumber(permissionRequested, userEmail, groupNumber){
return new Promise(resolve, reject) {
$.ajax({
type: 'GET',
url: L_Menu_BaseUrl + "/_api/web/sitegroups(" + groupNumber + ")/Users/getByEmail('" + email + "')/Email",
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json; odata=verbose");
},
processData: false,
})
.done(function() {
resolve(true)
})
.fail(function() {
resolve(false)
})
}