我尝试使用ajax从图像上的onclick事件发送数据 这是ajax代码
function get_img(name) {
$.ajax({
type: "POST",
url: "img_main.php",
data: "img_name="+name,
success: function(response)
{
alert("main image selected");
}
});
}
这是我放置onclick事件的img标签
while($row = mysql_fetch_array($query))
{
$test = $row['img_name'];
$result .= "<td><img src='".$uploaddir.$row['img_name']."' class='imgList' onclick='get_img(\"".$test."\")' /></td>";
这是img_main.php
<?php
include("connect.inc.php");
echo "<script type='text/javascript'> alert('test'); </script>";
$img_name = $_POST['img_name'];
$query = "UPDATE upload set status = 1 where img_name = $img_name";
$result = mysql_query($query);
$query2 = "UPDATE upload set status = 0 where img_name != $img_name";
$result2 = mysql_query($query2);
?>
我想要的是当我点击图片时,它会更新数据库中的字段状态。
ajax代码中的成功函数为我提供了警报功能,但状态字段未更新。
我的控制台没有返回任何错误。
有人可以帮忙吗?
答案 0 :(得分:0)
尝试更改
data: "img_name="+name,
到
data: {img_name:name},
或
$.ajax({
type: "POST",
url: "img_main.php", or use full url like "http://domain/img_main.php"
data: {img_name:name},
success: function(response)
{
alert("main image selected");
}
});
和img_main.php(在查询变量中添加引号)
$query = "UPDATE upload set status = 1 where img_name = '$img_name'";
$result = mysql_query($query);
$query2 = "UPDATE upload set status = 0 where img_name != '$img_name'";
$result2 = mysql_query($query2);
答案 1 :(得分:0)
在更新查询中为$img_name
添加引号,例如:
$query = "UPDATE upload set status = 1 where img_name='$img_name'";
$result = mysql_query($query);
$query2 = "UPDATE upload set status = 0 where img_name!='$img_name'";
当你收到警报作为回应时,我不认为ajax呼叫有错误。