Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量不带表单或URL扩展传递到下一页_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 将变量不带表单或URL扩展传递到下一页

Javascript 将变量不带表单或URL扩展传递到下一页,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个指向exampleA.php的链接,但我希望在链接中有一个变量传递。当然,条件不是使用URL扩展名或表单提交。我四处搜索,大多数人建议使用ajax,但对我来说,我不仅仅是传递文件的变量,当我在exampleA.php页面时,我想处理这个变量。 在exampleA.php中,我有一些代码作为示例 if(isset($\u POST['Type'])){ $Type=$_POST['Type']; } 使用Ajax,当我已经到达exampleA.php页面时,我无法处理POST变量。 以防万

我有一个指向exampleA.php的链接,但我希望在链接中有一个变量传递。当然,条件不是使用URL扩展名或表单提交。我四处搜索,大多数人建议使用ajax,但对我来说,我不仅仅是传递文件的变量,当我在exampleA.php页面时,我想处理这个变量。 在exampleA.php中,我有一些代码作为示例

if(isset($\u POST['Type'])){
$Type=$_POST['Type'];
}

使用Ajax,当我已经到达exampleA.php页面时,我无法处理POST变量。 以防万一,也许我的代码错了

<a class="example_anchor" href="TestB.php/" data-type="Activity">M</a>
    <script>
        $(".example_anchor").on("click", function (e) {
        e.preventDefault();
        var Type = $(this).data();
        var link = $(this).attr('href');
        $.ajax({
            url: link,
            type: "POST",
            dataType: "text",
            data: { 
                Type:Type
            },
            error: function (msg) {
                alert("Fail");// Error handling
            },
            success: function (msg) {
                // Success handling

                     alert("You will now be redirected.");
                     window.location.replace(link);

            }
        });


        });

    </script>

$(“.example_anchor”)。在(“click”上,函数(e){
e、 预防默认值();
变量类型=$(this.data();
var link=$(this.attr('href');
$.ajax({
网址:link,
类型:“POST”,
数据类型:“文本”,
数据:{
类型:类型
},
错误:函数(msg){
警报(“失败”);//错误处理
},
成功:功能(msg){
//成功处理
警报(“您现在将被重定向。”);
窗口。位置。替换(链接);
}
});
});

尝试使用会话发送数据,而不使用表单、url或ajax

下面是如何做到这一点

  • session_Start()行在每页上启动一个会话
  • 在要发送数据的第一个页面上,将其传输到会话变量,如
    $\u session['transferdata']=“some data”
  • 在下一页中,选中like

    if(isset($\u会话['transferdata'])){
    //做你想做的事
    }


  • 尝试使用会话发送数据,而不使用表单、url或ajax

    下面是如何做到这一点

  • session_Start()行在每页上启动一个会话
  • 在要发送数据的第一个页面上,将其传输到会话变量,如
    $\u session['transferdata']=“some data”
  • 在下一页中,选中like

    if(isset($\u会话['transferdata'])){
    //做你想做的事
    }

  • 就我个人而言,在进入下一页之前,我想

    $('.example_anchor[data-type]').on('click', function (e) {
      document.cookie = `type=${this.getAttribute('data-type')}` // note, very simplified
      return true
    })
    
    然后您的PHP脚本应该能够访问
    $\u COOKIE['type']


    如果
    TestB.php
    与当前资源不在同一路径中,则可能需要设置cookie
    path
    属性。您可能还需要设置其他属性,如
    expires
    ,尽管默认属性将在会话结束时过期。

    就我个人而言,在进入下一页之前,我会先设置

    $('.example_anchor[data-type]').on('click', function (e) {
      document.cookie = `type=${this.getAttribute('data-type')}` // note, very simplified
      return true
    })
    
    然后您的PHP脚本应该能够访问
    $\u COOKIE['type']



    如果
    TestB.php
    与当前资源不在同一路径中,则可能需要设置cookie
    path
    属性。您可能还需要设置其他属性,如
    expires
    ,尽管默认属性将在会话结束时过期。

    您的控制台中是否有错误?您不能简单地使用区域设置存储或cookie吗?上面代码的问题是,
    TestB.php
    只会收到AJAX请求的
    $\u POST['Type']
    。当您使用
    window.location.replace(link)
    时,这是一个单独的
    GET
    请求,而
    $\u POST
    将为空。您为什么不能使用表单提交或更简单的
    TestB.php?Type=Activity
    ?这些限制有什么实际原因吗?上级决定的要求。我必须找到解决方法。你的控制台有错误吗?你不能简单地使用区域设置存储或cookie吗?上面代码的问题是,
    TestB.php
    只会收到AJAX请求的
    $\u POST['Type']
    。当您使用
    window.location.replace(link)
    时,这是一个单独的
    GET
    请求,而
    $\u POST
    将为空。您为什么不能使用表单提交或更简单的
    TestB.php?Type=Activity
    ?这些限制有什么实际原因吗?上级决定的要求。我必须想办法解决这个问题。为了弄清楚,我使用了多个链接。每个链接都有其可能的变量,并且都指向同一页面。在这里,您的解决方案非常简单,但我如何确定单击链接时要发送哪些数据。据我所知,PHP没有像JavaScript这样的点击事件。哦,等等,我的眼睛刚刚睁开。我可以使用ajax,并在目标php代码上分配变量。谢谢。为了清楚起见,我使用了多个链接。每个链接都有其可能的变量,并且都指向同一页面。在这里,您的解决方案非常简单,但我如何确定单击链接时要发送哪些数据。据我所知,PHP没有像JavaScript这样的点击事件。哦,等等,我的眼睛刚刚睁开。我可以使用ajax,并在目标php代码上分配变量。谢谢。太好了,我从没想过。谢谢你,我从没想过。谢谢