如何将JavaScript变量的数据传递到另一个php页面?

如何将JavaScript变量的数据传递到另一个php页面?,javascript,php,ajax,Javascript,Php,Ajax,我有两个页面:test.php和backend.php test.php有三个图像,单击这些图像会将用户带到backend.php。我希望单击的图像的src显示在backend.php上。我试图通过JavaScript和Ajax实现这项任务,但是图像的src没有出现在backend.php上。其代码如下所示: test.php: <?php session_start(); ?> <html> <head> <scrip

我有两个页面:test.phpbackend.php

test.php有三个图像,单击这些图像会将用户带到backend.php。我希望单击的图像的src显示在backend.php上。我试图通过JavaScript和Ajax实现这项任务,但是图像的src没有出现在backend.php上。其代码如下所示:

test.php:

<?php
    session_start();
?>

<html>
    <head>
        <script src="jquery-1.9.1.js">
        </script>

        <script>
            function clickIt(data){
                $.ajax({
                           url: 'backend.php',
                           data: {"imgsrc":data},
                           type: 'post',
                           success:function(res){
                              alert(res.message);
                           }
                });
            }
        </script>
    </head>

    <body>
        <a href="backend.php">
            <img onclick="clickIt(this.src)" src="img1.jpg"/>
        </a>
        <a href="backend.php">
            <img onclick="changeIt(this.src)" src="img2.jpg"/>
        </a>
        <a href="backend.php">
            <img onclick="changeIt(this.src)" src="img3.jpg"/>
        </a>
    </body>
</html>
<?php
    session_start();
?>

<?php
    echo $_POST['imgsrc'];
    echo '<a href="test.php">Back</a>';
?>

功能点击它(数据){
$.ajax({
url:'backend.php',
数据:{“imgsrc”:数据},
键入:“post”,
成功:功能(res){
警报(res.message);
}
});
}
backend.php:

<?php
    session_start();
?>

<html>
    <head>
        <script src="jquery-1.9.1.js">
        </script>

        <script>
            function clickIt(data){
                $.ajax({
                           url: 'backend.php',
                           data: {"imgsrc":data},
                           type: 'post',
                           success:function(res){
                              alert(res.message);
                           }
                });
            }
        </script>
    </head>

    <body>
        <a href="backend.php">
            <img onclick="clickIt(this.src)" src="img1.jpg"/>
        </a>
        <a href="backend.php">
            <img onclick="changeIt(this.src)" src="img2.jpg"/>
        </a>
        <a href="backend.php">
            <img onclick="changeIt(this.src)" src="img3.jpg"/>
        </a>
    </body>
</html>
<?php
    session_start();
?>

<?php
    echo $_POST['imgsrc'];
    echo '<a href="test.php">Back</a>';
?>

我可能做错了什么?

试试这个

HTML:

在backend.php中

<?php
    echo $_GET['imgsrc']; // use $_GET
    echo '<a href="test.php">Back</a>';
?>

试试这个

HTML:

在backend.php中

<?php
    echo $_GET['imgsrc']; // use $_GET
    echo '<a href="test.php">Back</a>';
?>

  • 标记的Click事件未触发,因为标记使用 在触发标记单击事件之前从页面到后端页面。只需从每行中删除标记,即可解决此问题
  • 您无法以res.message的形式访问ajax响应,因为您没有以json格式回显响应。您可以简单地从res变量访问响应
  • 还可以将函数名更改为将其更改为clickIt,因为您已定义函数名为clickIt
  • //仅使用res 成功:功能(res) { 警报(res)

    }

    
    
  • 标记的Click事件未触发,因为标记使用 在触发标记单击事件之前从页面到后端页面。只需从每行中删除标记,即可解决此问题
  • 您无法以res.message的形式访问ajax响应,因为您没有以json格式回显响应。您可以简单地从res变量访问响应
  • 还可以将函数名更改为将其更改为clickIt,因为您已定义函数名为clickIt
  • //仅使用res 成功:功能(res) { 警报(res)

    }

    
    
    为什么要发出警报(res.message)?
    消息
    应该来自哪里?您是否尝试了
    警报(res)
    ?或者更好:
    console.log(res)
    。如果您想在image clicck.之后将页面重定向到backend.php并在那里显示图像..在这种情况下,请不要使用ajax..使用window.location.href进行重定向,并将图像源与url一起传递..否则您也可以在console..Felix,
    警报(res.message)
    仅用于显示成功消息。但目前它显示未定义。不,我没有试过。达拉,你能帮我看一下运行中的代码吗?@rajarshi check..我已经在下面发布了答案。你为什么要做
    警报(res.message)
    消息
    应该来自哪里?您是否尝试了
    警报(res)
    ?或者更好:
    console.log(res)
    。如果您想在image clicck.之后将页面重定向到backend.php并在那里显示图像..在这种情况下,请不要使用ajax..使用window.location.href进行重定向,并将图像源与url一起传递..否则您也可以在console..Felix,
    警报(res.message)
    仅用于显示成功消息。但目前它显示未定义。不,我没有试过。达拉,你能帮我看一下运行代码吗?@rajarshi check。我已经在下面贴了答案。达拉,这符合我的目的。谢谢达拉,这符合我的目的。