在Extjs Ajax请求中未正确设置Cookie

时间:2016-04-17 14:06:34

标签: ajax extjs cors setcookie extjs6

我正在开发一个Extjs-6应用程序。我的服务器应用程序是RestFul。我必须使用Ajax登录。我发送一个Ajax请求如下:

Ext.Ajax.request({

   url: 'localhost:8084/Calk/j_spring_security_check',
   params: {j_username: 'ali', j_password: '123456',
   method: 'POST',
   headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
   },
   success: ...,
   faiulure: ...,
});   

请求结果如下enter image description here

客户收到200 OK后,会按以下方式阅读商店:

Ext.define('Calk.store.Calk', {
   extend: '...',
   model: '...',
   proxy: {
      type: 'ajax',
      url: 'localhost:8084/Calk/calk/all',
      withCredentials: true,
      useDefaultXhrHeader: false,
      reader: ...,
      method: 'POST'
});    

但结果如下enter image description here

为什么Cookie设置错误如何解决?

1 个答案:

答案 0 :(得分:1)

在Ext config中设置以下行:

Ext.Ajax.on("beforerequest",function(con){
  con.setUseDefaultXhrHeader(false);
  con.setWithCredentials(true);
});

所以所有的ajax请求都会发送cookie。