我正在尝试通过 REST API 自动确保某些用户。
我的 REST 通话:
$.ajax({
url: "blablabla/_api/web/ensureuser",
type: "POST",
data: "{ 'logonName': 'i%3A0%23.w%7Cdomain%09logonName' }",
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose"
},
success: function () {
console.log("done!");
},
error: function (err) {
console.log(JSON.stringify(err));
}
});
现在,当发送此电话时,我收到以下错误;
“错误请求:Microsoft.Data.OData.ODataContentTypeException 无法找到与响应的内容类型匹配的受支持的 MIME 类型。受支持的类型“application/json;odata=verbose”均不与内容类型“匹配” application/x-www-form-urlencoded; charset=UTF-8'"
调用的构建方式如下在msdn参考中指定的。
出现此错误是因为ContentType
需要显式指定,因为它是 JSON 请求:
contentType
(默认值:'application/x-www-form-urlencoded;
字符集=UTF-8')
向服务器发送数据时,使用此内容类型。默认为
“应用程序/x-www-form-urlencoded;字符集=UTF-8”
Example
function ensureUser(webUrl,loginName)
{
var payload = { 'logonName': loginName };
return $.ajax({
url: webUrl + "/_api/web/ensureuser",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(payload),
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose"
}
});
}
var loginName = 'i:0#.f|membership|[email protected]'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
console.log('User has been added');
})
.fail(function(error){
console.log('An error occured while adding user');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)