【问题标题】:Redirect to a page when the reponse is not error当响应不是错误时重定向到页面
【发布时间】:2013-01-18 10:35:43
【问题描述】:

我有一个表格,我提供一个名称并提交。这使用 ajax,我从服务器获得响应。如果我不添加名称并尝试提交,我会收到一条错误消息。 我想在提交成功时重定向到一个 url,而不是在响应错误时重定向。

下面是萤火虫的截图,显示成功和错误响应 response http://i.minus.com/jbaILwvIGfmgX7.bmp 请有人可以提供一个可以处理这种情况的 jquery 脚本。 如果您需要我提供更多信息,请告诉我。 提前致谢 。

【问题讨论】:

  • 你试过什么? (因为这真的很容易,但除非你证明你至少尝试过,否则我不会帮助你)
  • 我为 JIRA 编写了一个脚本,所以我们使用 AJS.$ 而不是 $
  • 为什么你要提交一个带有 ajax 的表单只是为了在成功后重定向。实施验证并进行常规表单提交,您就拥有了您想要的东西?
  • 请编辑您帖子中格式化的代码。我看对了吗:成功函数总是被调用,即使你从 ajax 得到错误响应(这意味着你的 json 对象包含“errorMessages”和“errors”

标签: ajax jquery redirect


【解决方案1】:

把你的 ajax 调用改成这个,我想这就是你想要的

$.ajax({ 
    success: function(data, textStatus, jqXHR) {
        var obj = jQuery.parseJSON(data);
        if(obj.errorMessages == undefined)
        {
            window.location.href=burl+"/browse/"+pkey+"#selectedTab=com.atlassian.jira.plug‌​in.system.project%3Aversions-panel"; 
        }
        else
        {
            alert("error");
        }
    }, 
    error: function() { 
        alert("error"); 
    } 
});

“error”函数用于处理 ajax 调用发生的错误。但是你的 ajax 调用总是成功的,因为你总是得到一个有效的响应。因此你必须检查返回的 json 是否有错误

【讨论】:

  • 我尝试了您提供的脚本,但它不工作:( ...如果我不发出错误警报,那没关系,如果响应没有错误,我只需要重定向。
  • 出现错误时会发生什么?调用成功函数?我的代码不起作用怎么办?你得到什么 javascript 错误?
  • 没有成功函数没有被调用,我通过在成功函数中添加警报来测试这个。
  • 所以你的成功和错误函数都没有被调用?这可能是因为您的请求返回 400 Bad Request Status (正如我从您的屏幕截图中看到的那样)。这是您的服务器或您正在调用的网址的问题。你打电话的网址是什么?我没有看到你在任何地方设置它。您需要以某种方式定义 $.ajax({url: "your request url", ...
  • 这是我第一个使用 AJAX 的脚本,我是一个完整的新手,来自我在单击请求时发现的萤火虫发送到 localhost:8081/rest/api/2/version。请问你能从头开始帮助我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 2010-12-06
  • 2020-05-05
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多