JS / JQuery:基于XML响应的重定向

时间:2015-12-24 23:29:00

标签: javascript jquery

有没有办法根据XMLHttpRequest()的内容将用户重定向到某个网址?这就是我想要实现的目标:

  1. 用户点击提交,表单已提交,XMLHttpRequest()已解雇
  2. 从服务器收到的响应,存储在var hr
  3. 如果hr = abc,则显示hr
  4. 的内容
  5. 如果hr = xyz,请将用户重定向到http://www.something.com
  6. 我正在寻找的是JS或JQ中是否有任何预先设计的方法来处理此类重定向。我了解重定向可以在页面<meta>部分的<header>标记中指定,但如果我这样做,我将如何为其添加条件?我本来会发布一份我试过的剧本副本,但是因为现在,我不知道从哪里开始!

    如果有人对该场景感到好奇,这是一个基于Web的字典/共轭服务。因此,在动词共轭页面上,如果用户输入有效动词,则显示响应(即,共轭表)。但是,如果用户输入的单词有效但不是动词,因此无法进行共轭,我希望用户自动重定向到输入单词词典条目的词典页面将显示。不确定我是否已经解释得很好,但如果您有任何问题,请随时询问。

2 个答案:

答案 0 :(得分:1)

尝试使用switch(request.responseText)进行测试,并在首选案例“xyz”中调用window.location.assign("http://your-url.com");!或者window.open("http://anotherxxxwebsite.com")在新的浏览器窗口中打开链接。

答案 1 :(得分:1)

没有&#34;预先设计&#34;方法,但你可以自己编写这个逻辑。根据您当前的API,您可以检查返回的值是否为URI(或其他指定值),并相应地重定向。假设从jQuery.ajax返回延迟对象:

defer.done(function(data, textStatus, jqXHR) {
    // assuming a string, but this could really be anthing, e.g.
    // an object containing an appropriate attribute, etc.
    if (data.indexOf('http') === 0) {
        window.open(data);
    } else {
        // render your stuff
    }
});