Service 注销服务不工作的用户

Service 注销服务不工作的用户,service,drupal-7,Service,Drupal 7,我正在开发一个移动应用程序,我将使用Phonegap进行部署 现在我可以使用Drupal 7服务登录,并且还可以获得会话名称和会话id。但是我无法注销用户。即使是我这样做的时候。。我在chrome控制台上看到这个问题:406(不可接受:) 我尝试以“Cookie”格式发送标题,然后以“sessionname=sessionid”格式发送。。但那没用。谁能给我一个建议吗 您需要从您的站点/services/session/token添加CSRF令牌,然后以添加Cookie的相同方式将其添加到头中,

我正在开发一个移动应用程序,我将使用Phonegap进行部署

现在我可以使用Drupal 7服务登录,并且还可以获得会话名称和会话id。但是我无法注销用户。即使是我这样做的时候。。我在chrome控制台上看到这个问题:406(不可接受:)


我尝试以“Cookie”格式发送标题,然后以“sessionname=sessionid”格式发送。。但那没用。谁能给我一个建议吗

您需要从您的站点/services/session/token添加CSRF令牌,然后以添加
Cookie
的相同方式将其添加到头中,如

'X-CSRF-Token: ' + $token
确保它是
放置的
,这里有一个很好的例子:

相关部分如下所示:

$.ajax({
url:“http://your_url/endpoint/user/logout.json",
键入:“post”,
数据类型:“json”,
发送前:功能(请求){
setRequestHeader(“X-CSRF-Token”,Token);
},
错误:函数(jqXHR、textStatus、errorshown){
警报(“注销失败”);
警报(JSON.stringify(jqXHR));
警报(JSON.stringify(textStatus));
警报(JSON.stringify(error抛出));
},
成功:功能(数据){
警报(“您已注销”);
}
});
这对我很有用

$http({
    method: 'POST',
    url: drupal_instance + api_endpoint + 'user/logout',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'application/json',
        'X-CSRF-Token': user.token
    }
})
.success(function (data, status, headers, config) {
    alert('Success');
})
.error(function (data, status, headers, config) {
    alert('Error');
});