我有两个页面:test.php和backend.php.
test.php有三个图像,点击后会将用户带到backend.php。我希望点击的图像的src显示在backend.php上。。我试图通过JavaScript和Ajax实现这项任务,但图像的src没有出现在backendphp上
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>
backend.php:
<?php
session_start();
?>
<?php
echo $_POST['imgsrc'];
echo '<a href="test.php">Back</a>';
?>
我可能做错了什么?
试试这个;
HTML:
<body>
<a href="javascript:void(0);">
<img onclick="clickIt(this.src)" src="img1.jpg"/>
</a>
<a href="javascript:void(0);">
<img onclick="changeIt(this.src)" src="img2.jpg"/>
</a>
<a href="javascript:void(0);">
<img onclick="changeIt(this.src)" src="img3.jpg"/>
</a>
</body>
Jquery:
function clickIt(data){
window.location.href = 'backend.php?imgsrc='+data; // redirect to backend.php
}
后端.php
<?php
echo $_GET['imgsrc']; // use $_GET
echo '<a href="test.php">Back</a>';
?>
- 标记的Click事件未激发,因为标记接受在触发标记单击事件之前,将页面切换到后端页面。您可以简单地通过从每一行中删除标记来解决这个问题
- 您不能以res.message的形式访问ajax响应,因为您没有以json格式回显响应。您可以简单地从res变量访问响应
- 也可以将函数名称更改为changeIt更改为clickIt,因为您已经定义了函数有clickIt
//仅使用res成功:函数(res){警报(res);
}
<img onclick="clickIt(this.src)" src="img1.jpg"/>
<img onclick="clikcIt(this.src)" src="img2.jpg"/>
<img onclick="clickIt(this.src)" src="img3.jpg"/>