Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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
Javascript 是否可以在每个Ajax请求中执行自定义代码,而无需手动将该代码添加到ExtJS中的每个Ajax代码中?_Javascript_Ajax_Extjs - Fatal编程技术网

Javascript 是否可以在每个Ajax请求中执行自定义代码,而无需手动将该代码添加到ExtJS中的每个Ajax代码中?

Javascript 是否可以在每个Ajax请求中执行自定义代码,而无需手动将该代码添加到ExtJS中的每个Ajax代码中?,javascript,ajax,extjs,Javascript,Ajax,Extjs,若用户已登录,则ajax请求可以正常工作。当会话无效时,ajax返回登录屏幕,用户可以将登录屏幕视为ajax内容。是否可以在Ext Js中添加自定义代码(将在每个ajax请求中运行),以检查会话是否仍然有效,如果会话无效,则JavaScript将重定向到登录页面,否则它将继续正常执行ajax请求。应在服务器中检查会话是否仍然有效。不是用JavaScript 我们不信任客户端。应该在服务器上检查会话是否仍然有效。不是用JavaScript 我们不信任客户。您可以通过两种方式修改ajax流程: 1-

若用户已登录,则ajax请求可以正常工作。当会话无效时,ajax返回登录屏幕,用户可以将登录屏幕视为ajax内容。是否可以在Ext Js中添加自定义代码(将在每个ajax请求中运行),以检查会话是否仍然有效,如果会话无效,则JavaScript将重定向到登录页面,否则它将继续正常执行ajax请求。

应在服务器中检查会话是否仍然有效。不是用JavaScript


我们不信任客户端。

应该在服务器上检查会话是否仍然有效。不是用JavaScript


我们不信任客户。

您可以通过两种方式修改ajax流程:

1-服务器端:在收到请求时,检查会话-如果用户未登录或会话已过期,则返回HHTP 403(=未授权)。 2-客户端:作为ajax响应处理程序的一部分,检查错误403。若返回,则请求登录并将其发送到服务器,然后在登录成功后,重新发送原始请求


如果不使用太多现成的ajax库,那么这很容易。如果是,请查看其功能。

您可以通过两种方式修改ajax流程:

1-服务器端:在收到请求时,检查会话-如果用户未登录或会话已过期,则返回HHTP 403(=未授权)。 2-客户端:作为ajax响应处理程序的一部分,检查错误403。若返回,则请求登录并将其发送到服务器,然后在登录成功后,重新发送原始请求


如果不使用太多现成的ajax库,那么这很容易。如果是,请查看它的功能。

Ext.ajax是一个单例,因此您可以为所有请求错误定义一个全局处理程序

如果用户未经授权,您的服务器端代码将需要返回HTTP 403或simmilar。将此代码放在代码中的某个位置(仅一次):

Ext.Ajax.on('requestexception', function(conn, response, options) {
    if (response.status == 403) {
       Ext.MessageBox.alert('Authentication', 'You are not logged in.');
       /* you can display a login box or something here */
    }
};
如果AJAX请求因会话已过期而失败,则可以在代码中优雅地处理它


options参数包含AJAX请求选项,因此如果您向用户提供一个登录框并重新验证它们,您可以重新提交他们自动发出的原始AJAX请求。对于发出AJAX请求的所有现有代码的其余部分,该过程应该是无缝的。

Ext.AJAX是一个单例,因此您可以为所有请求错误定义一个全局处理程序

如果用户未经授权,您的服务器端代码将需要返回HTTP 403或simmilar。将此代码放在代码中的某个位置(仅一次):

Ext.Ajax.on('requestexception', function(conn, response, options) {
    if (response.status == 403) {
       Ext.MessageBox.alert('Authentication', 'You are not logged in.');
       /* you can display a login box or something here */
    }
};
如果AJAX请求因会话已过期而失败,则可以在代码中优雅地处理它


options参数包含AJAX请求选项,因此如果您向用户提供一个登录框并重新验证它们,您可以重新提交他们自动发出的原始AJAX请求。对于发出AJAX请求的所有其他现有代码,该过程应该是无缝的。

这是在服务器端完成的,但Ext Js类似于JavaScript OS,因此更容易在每个AJAX请求中自动检查会话是否有效,而不是为每个AJAX请求编写相同的代码。@newbie为什么要检查客户端?只需在服务器上的ajax处理程序中添加一些中间件,以检查会话,并在出现错误时返回登录屏幕。这是在服务器端完成的,但Ext Js类似于JavaScript OS,因此更容易在每个ajax请求中自动检查会话是否有效,而不是为每个ajax请求编写相同的代码。@新手为什么要检查客户端?只需向服务器上的ajax处理程序添加一些中间件,以检查会话,并在出现错误时返回登录屏幕。