我有一个包含一些损坏图像的网页,这些图像正在由数据库显示。我使用以下jQuery来隐藏被破坏的图像。
//images are wrapped in an anchor
$("img").error(function() {
$(this).parent().hide();
});
我想利用数据库中的“状态”列将所有损坏的图像设置为“隐藏”。在页面上包装图像的每个锚都具有与主数据库键“id”匹配的“id”属性。
$("img").error(function() {
var error = $(this).parent().attr('id');
$.ajax({
type: "POST",
url: "changestatus.php",
data: "status=hidden&id=".error.""
});
});
// changestatus.php
<?php
mysql_connect("localhost", "stackoverflowexampleuser", "stackoverflowexamplepass") or die(mysql_error());
mysql_select_db("stackoverflowexampledatabase") or die(mysql_error());
$id = $_POST['id'];
$status = $_POST['status'];
$query="UPDATE stackoverflowexampletable SET status = '".$status."' WHERE id ='".$id."'";
mysql_query($query) or die ('error');
mysql_close();
header( 'Location: MYSOURCE' ) ;
?>
这是我第一次尝试ajax,我知道我的一些东西严重错误。我看了几个使用KEY VALUE对的例子,但我不知道$ _POST ['var']应该是什么。
你甚至可以在“加载页面时”请求这样的内容吗?我尝试用任意按钮包装它并没有用。
因为这只需要使用一次我并不专注于使用AJAX 。
答案 0 :(得分:1)
试试这个:
$("img").error(function() {
var error = $(this).parent().attr('id');
$.ajax({
type: "POST",
url: "changestatus.php",
data: {
status: "hidden",
id: error
}
});
});
如果您想在页面加载时启动它,请务必将其包含在$(document).ready()
函数中。