【问题标题】:jQuery Ajax call success then re-directjQuery Ajax 调用成功然后重定向
【发布时间】:2013-08-31 13:12:54
【问题描述】:

已解决 - 将添加自己的答案并标记为已解决。

在成功的 Ajax/JSON 调用 AND 中,其中 jQuery 变量具有特定值 - 是否可以重定向到另一个页面?

例如[code sn-p only - not full code, to save space]:

if(json.response.status == 'success') {
                    if($page == 'ten'){
                        window.location.replace("finish.php");
                    }else{
                        $('.sequence-container div').hide().delay( 2000 );
                        $next.show().delay( 2000 );
                    }

                }

上面的代码正确地保存到数据库中,但是当它 $page == 'ten'它不做重定向。

我有一种感觉,我知道 Ajax 的工作方式不正确,但如果可能的话,可以使用一些反馈。谢谢。

【问题讨论】:

  • 你有没有在 if 条件中设置任何警报和测试?喜欢if($page == 'ten'){alert('came to if ...')}
  • 所以$page 不等于ten
  • 警报确实显示 $page = 'ten'。
  • 检查控制台是否有错误
  • 我已经尝试过了,当$page='ten' 时它会根据需要进行重定向。是否进入if条件?值中是否有任何前导/尾随空格?

标签: jquery ajax json redirect if-statement


【解决方案1】:

试试这个

if(json.response.status == 'success') {
                if($page == 'ten'){
                    window.location.href="finish.php";
                }else{
                    $('.sequence-container div').hide().delay( 2000 );
                    $next.show().delay( 2000 );
                }

            }

它应该工作。为我工作:)

【讨论】:

  • 感谢您的回复,但不高兴。
【解决方案2】:

尝试使用完整的 URL,例如:http://yourdomain.com/finish.php,例如

if(json.response.status == 'success')
{
    if($page == 'ten')
    {
        window.location.replace("http://yourdomain.com/finish.php");
    }
    else
    {
        $('.sequence-container div').hide().delay( 2000 );
        $next.show().delay( 2000 );
    }
}

【讨论】:

  • 遗憾的是,没有任何区别。
【解决方案3】:
if(json.response.status == 'success') {
                if($page == 'ten'){
                    window.location = "./finish.php"
                }else{
                    $('.sequence-container div').hide().delay( 2000 );
                    $next.show().delay( 2000 );
                }

            }

您也可以使用它。

【讨论】:

    【解决方案4】:

    虽然$page = 'ten' 在我的页面上没有进一步的div,但代码不会触发。为简单起见,由于时间限制,我添加了 div 并将查看“$page”以查看发生了什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-07
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多