我是AJAX / jQuery的新手。我有2个按钮。在每个按钮上单击我需要向服务器发送AJAX请求。但在此过程中,我还要检查用户是否已登录。如果用户未登录,则应将其重定向到登录页面,登录后他应返回同一页面。同样在AJAX中调用URL中指定的应用程序,检查用户是否登录并将其重定向到登录页面。应用程序包含构建登录页面URL的功能。如果用户已登录,则将在应用程序中调用另一个函数。我现在面临的问题是当我运行整个项目时,成功函数没有被调用。而是调用错误函数。但是,如果我将参数作为查询参数传递给URL,那么我将被重定向到登录页面。
例如:www.abc.com/application X = 1&安培; Y = 2
任何想法都会受到赞赏。
{
$.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")
}
});
}
答案 0 :(得分:0)
data.redirect将起作用。 确保添加 dataType:“json”, 到上面,它应该工作。 使用Chromes Network面板检查服务器是否正在正确通话。 还要检查它返回的Mime-Type。应该是'application / json'。
错误函数在请求失败时触发。 它需要3个参数,但第二个是错误字符串可以是“超时”,“错误”,“中止”和“parsererror”。
尝试使用此功能,您可能会找到更多调试信息;
{
$.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);
}
});
}