繁体   English   中英

张贴后的jQuery重定向

[英]jquery redirect after post

我有3个php文件。

  • file1.php包含PHP + HTML设计和jQuery脚本。
  • file2.php仅包含PHP和mySQL处理
  • file3.php根据在$ _REQUEST中收到的2个变量,使用TCPDF生成PDF,并显示生成的PDF

    1. 我从file1.php中的按钮调用$ .post到file2.php
    2. 一些数据处理发生在file2.php (mysql插入和更新)中,我获得了var1var2
    3. file2.php中完成处理后,我要显示基于file1.php基于var1var2创建的PDF

所以在file1.php中我称之为post的jQuery代码是:

        $("#saveinv").click(function() { // button is clicked
            var listview_array = new Array();
            // here I populate the array with values then...
            $.post("file2.php", 
               {json: JSON.stringify(listview_array)}, 
               function(data){alert("success"); 
            });
        });

在file2.php中没有任何内容。 经过大量处理,我最终得到2个变量,这些变量可以帮助我调用file3.php

必须使用2个参数调用file3.php :var1和var2,例如:

file3.php?var1=5&var2=77

但是我不知道在哪里放置调用或使用什么确切的语法。 我尝试了不同的解决方案,但没有成功。 也许我做错了,您可以帮助我。

  • 我试图在文件2.php的末尾放置一个标头('Location:file3.php?var1 = 5&var2 = 77');
  • 我试过了 :

    • 在file2.php的末尾添加以下行: return'file3.php?var1 = 5&var2 = 77';
    • 然后用window.location = data.redirect替换file1.php中的alert('success'),但是我一直被重定向到“ undefined”。
  • 如果我在file1.php中执行window.location ='file3.php?var1 = 5&var2 = 77' ,那么一切都完美,但是我需要从file2.php发送这些变量。 它们不是常数。

我该怎么办,在哪里?

谢谢

只需将结果作为JSON放在file2.php中:

echo '({"var1":"1","va2":"2"})';

在file1.php中的ajax回调函数中将其作为data获取的位置,然后使用eval

var args = eval(data);
window.location = 'file3.php?var1=' + args.var1 + '&var2=' + args.var2;

在file2.php的末尾添加以下行: return 'file3.php?var1=5&var2=77';

您不能使用return ,而只能使用printecho ,它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM