Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在ajax请求期间未看到ExtJS网格状态cookie_Jquery_Ajax_Cookies_Extjs - Fatal编程技术网

Jquery 在ajax请求期间未看到ExtJS网格状态cookie

Jquery 在ajax请求期间未看到ExtJS网格状态cookie,jquery,ajax,cookies,extjs,Jquery,Ajax,Cookies,Extjs,我有一个包含以下内容的ExtJS网格: //初始化状态管理器 Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); //设置状态id stateful:true, stateId:'Vehicle-grid', 我能够在一个普通的HTTP请求上获得cookie。 当我尝试发送jqueryajax请求时,虽然我没有看到cookie服务器端。 我看到的只是jsessionid 我错过了什么 如果有必要,我可以粘贴整

我有一个包含以下内容的ExtJS网格:

//初始化状态管理器

Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
//设置状态id

stateful:true,    
stateId:'Vehicle-grid', 
我能够在一个普通的HTTP请求上获得cookie。 当我尝试发送jqueryajax请求时,虽然我没有看到cookie服务器端。 我看到的只是jsessionid

我错过了什么

如果有必要,我可以粘贴整个代码,但我只是想知道我是否遗漏了一些关于这一切如何工作的基本信息

谢谢, 伊恩

PS-在后端,我有以下代码grails控制器:

def allCookies = request.cookies;
for (c in allCookies) {
    println "\n"+c.name+"\n";
}

我只打印JSSessionID。

您想用ExtJS发送ajax请求,而不是通过jQuery。jQuery不知道ExtJS的有状态变量/对象,因为它们是两个不同的javascript库,所以cookie的处理方式与您期望的不同。我假设您提到的正常HTTP请求是由ExtJS处理的,这就是您看到预期cookie行为的原因

下面是一个如何使用ExtJS触发ajax请求的示例:

// Basic request
Ext.Ajax.request({
   url: 'foo.php',
   success: someFn,
   failure: otherFn,
   headers: {
       'my-header': 'foo'
   },
   params: { foo: 'bar' }
});

更多信息可以在中找到。

看起来我已经知道了

我愚蠢地没有意识到cookie只是在网格上的某些事件被触发后才设置的,而不是在初始化时设置的,与常规请求和ajax请求无关


感谢您的帮助。

感谢您的回复,但当我指的是常规HTTP请求时,我指的是正常提交表单并刷新页面,而不是AJAX。所以我不明白为什么使用ExtJS来进行AJAX调用或jQuery有什么关系。cookie应该创建并存储在客户端系统上,对吗?您是通过ExtJS还是html进行表单提交?您是否尝试使用ExtJS的ajax请求?最初我是通过html进行表单提交的。我想制作AJAX表单,所以我开始使用jQuery。我没有尝试过使用ExtJS。现在,当我提交表单时,我得到的cookie名称返回的是JSESSIONID。没问题,我很高兴您找到了解决方案。继续,并将您的解决方案标记为已接受的解决方案,以便有效地解决问题。