响应时带有window.location的AjaxSubmit

Cri*_*tos 5 javascript ajax jquery redirect window.location

我有一个ajaxSubmit的问题...问题是,当我提交一个表单并从PHP获得一个带有window.location脚本的响应时,页面根本不会改变...

当正确提交表单时,我的PHP脚本只返回一个带有window.location的脚本,否则,它返回一个在success函数上解析的JSON.

使用Chrome的工具,我看到它在网络选项卡上加载了window.location URL,但它没有向用户显示...

这是我的代码:

$("form").submit(function(e) {
    e.preventDefault();
    $("form").ajaxSubmit({
        success: function(resp){
            try{
                resp=JSON.parse(resp);
                alert(resp["error"]);
            } catch(e){
                $("<div></div>").html(resp);
            }

        }
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

如何使其工作?AjaxSubmit的options参数是否有任何属性可以解决这个问题?

sde*_*ont 2

只需在服务器响应中提供不带 JS 代码的 URL,然后执行:

$("form").submit(function(e) {
    e.preventDefault();
    $("form").ajaxSubmit({
        success: function(resp){
            try{
                resp=JSON.parse(resp);
                window.location.href = resp;
            } catch(e){
                $("<div></div>").html(resp);
            }

        }
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)