【问题标题】:how to send data from one web page to another?如何将数据从一个网页发送到另一个网页?
【发布时间】:2015-02-06 08:01:25
【问题描述】:

我不知道如何问这个问题,但如果它们是重复的,请发送给我。它们是我制作的几个 .php 文件

content.php、show.php 和 showFilteredResult.php。

content.php 将开始日期和结束日期发送到 show.php 并返回该日期的 orderIds

$(document).ready(function () {
    var srt = $("#cal1Date1").val();
    var end = $("#cal1Date2").val();

    $.ajax({
        url: "http://localhost/show.php",
        data: {
            srt: srt,
            end: end
        },
        type: "POST",
        dataType: "json",
        complete: function (response) {

            $rtndata = response.responseText;
            var dat1a = jQuery.parseJSON($rtndata);
            var result = dat1a.OrderID;
            console.log(result[0]); // send this result
        }
    });
});

现在我想将这个带有 orderids 的 $result 发送到 showFilteredResult.php,然后我可以在其中制作表格等。

【问题讨论】:

  • 你为什么要这样做?你不能在 show.php 中这样做吗?我认为从前端向后端发送请求以获取数据然后将这些数据发送回后端并说“嘿,也这样做!”是愚蠢的。 (如果你当然不改变它们)

标签: javascript php jquery html ajax


【解决方案1】:

我会跳过 AJAX,只使用请求参数(GET 或 POST)。

cal1Date1 和 cal1Date2 是我假设的输入字段。将它们包装在一个表单中并将值发布到可以处理查找和显示的 PHP 表单处理程序。这里不需要 AJAX 中间人。

【讨论】:

  • 你能给我指点一个教程或者我没有 php 或网页设计经验的东西吗?
  • 我想这是一个关于 PHP 表单处理的不错的入门教程。 tizag.com/phpT/forms.php
  • 没有问题,很高兴我能帮上忙 :)
  • 我想再问一件事我不想再提出一个问题
  • 看这张图片link 他们超过 15 列。在我的表格中,我不知道如何缩短它们的长度,我尝试了以下代码' '
【解决方案2】:

只需向showFilteredResult.php 发出类似的 Ajax 请求,我会将它们放在单独的函数中。

function  showFilteredResult($result){
    $.ajax({
                url:"http://localhost/showFilteredResult.php",
                data: {
                    result:$result
                        },
                type:"POST",
                dataType: "json",
                complete:function(response){
                           $rtndata=response.responseText;
                           var dat1a=jQuery.parseJSON($rtndata);
                           var result=dat1a.OrderID;
                           console.log(result[0]);// do something with the data returned from showFilteredResult.php
    }
});

}

并且根据您刚刚调用该功能的请求

     ...    $rtndata=response.responseText;
                           var dat1a=jQuery.parseJSON($rtndata);
                           var result=dat1a.OrderID;
                           console.log(result[0]);// send this result
                           showFilteredResult(result[0]);
    }

});

【讨论】:

    【解决方案3】:

    除了向 server 发出另一个请求之外,您还有另一种选择。假设您在发回之前从 show.php 获得 orderId,对吗?然后你可以使用这个 orderId 来做你想做的事情,比如你在 showFilteredResult.php 中写的查询。然后返回给客户端以获得最终结果。这样就可以消除不必要的http请求了。

    【讨论】:

      猜你喜欢
      • 2020-10-12
      • 2017-08-05
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      相关资源
      最近更新 更多