【问题标题】:After I'm done with Ajax redirect the right window完成 Ajax 后重定向右侧窗口
【发布时间】:2013-05-17 10:05:34
【问题描述】:

我正在从这个答案中实现我的代码,以便在表单上传时在 webkit 中进行 Ajax 调用,它运行良好。 https://stackoverflow.com/a/16200886/548558

如果表单有效但重定向发生在 iframe 中,我的后端会给我一个重定向,但我真的想让它成为普通窗口。我怎么能做到这一点?有人有想法吗?

代码

$(function() {
    $('#upload-form').submit(function() {
        // Prevent multiple submits
        if ($.data(this, 'submitted')) return false;
        $(this).prop("target", "file-upload");
        // Update progress bar
        function update_progress_info() {
            // $progress.show();
            $.getJSON(progress_url, {'X-Progress-ID': uuid}, function(data, status) {
                if (data) {
                    var progress = parseInt(data.uploaded) / parseInt(data.length);
                    var width = $progress.find('.progress-container').width()
                    var progress_width = width * progress;
                    $progress.find('.progress-bar').width(progress_width);
                    $progress.find('.progress-info').text('uploading ' + parseInt(progress*100) + '%');
                    console.log("progress")
                    console.log(progress)
                    window.setTimeout(update_progress_info, freq);
                }
            });
        };
        window.setTimeout(update_progress_info, freq);

        $.data(this, 'submitted', true); // mark form as submitted
    });
});

【问题讨论】:

    标签: jquery forms


    【解决方案1】:

    如果你的电话,如果我理解你的问题,被制成iframe,你必须去你的window组件,调用他的父母(这个iframe的容器)并调用他的方法@987654324 @ 和 href。前几次我不得不使用它并为我工作。

    window.parent.location.href = "/foo.html"

    【讨论】:

    • 如果表单有效,我会从后端获得重定向,但这发生在 iframe 中,但我需要它用于 ajax 调用。我应该把它放在哪里?
    • @Azd325 如果您从服务器接收url,只需将我发布的代码添加到您的成功ajax 函数中,将href 的值替换为您从服务器收到的数据。 (即)...href = JSON.parse(data);
    • 啊,谢谢,我会尝试这样做。我会报告的。
    • 但是我的ajax函数被多次调用来获取上传的过程。所以我认为不可能在succes方法中添加它
    • @Azd325 什么?我不明白你的意思。您有一个带有提交按钮的表单。当您按下提交时,您会向您的服务器发送一个获取请求。当您的服务器发送响应时,您应该返回一个简单的字符串,该字符串将被解析为 Json 格式(类似于{"/foo.html"})。当您在成功函数中将其接收到data 参数中时,您唯一需要做的就是window.parent.location.href = JSON.parse(data);。问题/疑问在哪里?如果您/您的应用正在/正在做不同的事情,请纠正我。
    猜你喜欢
    • 2012-12-13
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多