Javascript ajax调用期间的重定向
我不熟悉AJAX/jQuery。我有两个按钮。在每个按钮上单击,我需要向服务器发送一个AJAX请求。但在这个过程中,我还必须检查用户是否已登录。如果用户未登录,则应将其重定向到登录页面,并在登录后返回同一页面。同样在AJAX调用中,URL中指定的应用程序检查用户是否登录,并将其重定向到登录页面。该应用程序包含为登录页面构建URL的功能。若用户已经登录,那个么将在应用程序中调用另一个函数。我现在面临的问题是,当我运行整个项目时,成功函数没有被调用。而是调用error函数。但若我将参数作为查询参数传递给URL,那个么我将被重定向到登录页面 例如:www.abc.com/application?X=1&Y=2 任何想法都将不胜感激Javascript ajax调用期间的重定向,javascript,jquery,ajax,Javascript,Jquery,Ajax,我不熟悉AJAX/jQuery。我有两个按钮。在每个按钮上单击,我需要向服务器发送一个AJAX请求。但在这个过程中,我还必须检查用户是否已登录。如果用户未登录,则应将其重定向到登录页面,并在登录后返回同一页面。同样在AJAX调用中,URL中指定的应用程序检查用户是否登录,并将其重定向到登录页面。该应用程序包含为登录页面构建URL的功能。若用户已经登录,那个么将在应用程序中调用另一个函数。我现在面临的问题是,当我运行整个项目时,成功函数没有被调用。而是调用error函数。但若我将参数作为查询参数传
{
$.ajax({
type: "GET",
data: {
X:param1,
Y:param2,
},
url: "/application",
success: function(data, status)
{
if (data.redirect) {
window.location.href = data.redirect;
} else {
alert("success message");
}
},
error:function()
{
alert("error message")
}
});
}
假设数据是json对象,则data.redirect将起作用。 确保添加 数据类型:“json”, 这一点应该是可行的。 使用Chromes网络面板检查服务器是否正确回话。 还要检查它返回的Mime类型。应该是“application/json” 错误函数在请求失败时激发。 它有3个参数,但第2个是错误字符串,可以是“timeout”、“Error”、“abort”和“parserror” 试试这个,你会发现更多的调试信息
{
$.ajax({
type: "GET",
data: {
X:param1,
Y:param2,
},
url: "/application",
success: function(data, status)
{
if (data.redirect) {
window.location.href = data.redirect;
} else {
alert("success message");
}
},
error:function(jqXHR, text)
{
alert("error message: "+text);
}
});
}这可能是您的URL重写中的一个问题。