0

我有 3 个 php 文件。

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

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

所以我称之为 post的file1.php中的 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

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

  • 我试图在 file2.php 的末尾放置一个 header('Location: file3.php?var1=5&var2=77');
  • 我尝试过了 :

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

我应该做什么,在哪里?

谢谢

4

2 回答 2

0

add at the end of file2.php the line : return 'file3.php?var1=5&var2=77';

You cannot use return, just use print or echo and it should work.

于 2013-07-12T02:34:46.830 回答
0

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

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

data你在file1.php中的ajax回调函数中得到它,然后使用eval

var args = eval(data);
window.location = 'file3.php?var1=' + args.var1 + '&var2=' + args.var2;
于 2013-07-12T02:21:09.023 回答