我有一个jQuery帖子调用如下:
$.post('/Controller/_PartialAction', { 'param1': data }, function(result) { });
这很好,一切正常,除非用户的身份验证cookie过期。
发生的事情是,已经存在将/Controller/_PartialAction
重定向到登录页面的内容,但是在这种情况下,部分操作是部分视图,而我想重定向完整视图。
所以它已经将其重定向到登录页面,但我想重定向另一个页面,比如说我想重定向到/Controller/Index
。有没有办法在ajax / jQuery调用中指定错误路径或重定向路径?
I.E。,类似这样的事情(这不存在,但就像我想做的那样)
$.post({success}, {redirect}, {error}, {data}, {function})
基本上,我怎样才能使用不同的url进行jQuery / ajax post调用以获取错误,以便我可以重定向到那个?
修改的
重定向的是ajax调用本身。所以我无法从控制器重定向它。
答案 0 :(得分:0)
因此,您希望根据用户的会话是否已过期来定义操作URL?
为什么不将操作URL定义为变量,然后在后调用中使用它:
// Use an asp.net function to work out whether session has expired
if( ... ) {
// Session expired
var url = 'Controller/Index';
} else {
// Session alive
var url = 'Controller/_PartialAction';
}
$.post(url, { 'param1': data }, function(result) { });
答案 1 :(得分:0)
我不完全确定你的目标是什么,但是(基于http://api.jquery.com/jQuery.post/)你可以使用底层的$ .ajax(http://api.jquery.com/jQuery.ajax/)和设置error
功能?
或者您可以在成功回调中测试cookie的到期时间,然后根据该测试的结果重定向。