我已经使用下面的解决方法来绕过这个错误。(检查错误信息,然后使用“setTimeout”重新执行查询)
var response = SP.WebProxy.invoke(context, request);
// Set the event handlers and invoke the request.
context.executeQueryAsync(
function () {
if (response.get_statusCode() == 200) {
var arrayResult = xmlToJson($.parseXML(response.get_body()));
d.resolve(arrayResult);
}
else {
var errorMessage = response.get_body();
if (response.get_statusCode() == 403 && errorMessage == "This app has reached its outbound request limit.") {
//Try again in 100ms
setTimeout(function () {
console.log("reload");
response = SP.WebProxy.invoke(context, request);
context.executeQueryAsync(function () {
if (response.get_statusCode() == 200) {
var arrayResult = xmlToJson($.parseXML(response.get_body()));
d.resolve(arrayResult);
}
});
}, 100);
}
else {
d.reject(response.get_body());
}
}
},
function () { d.reject(response.get_body()); });
return d.promise();