所以我试图用AJAX将动态生成的数据发送到mysql。
<script type="text/javascript">
var postId;
function getdata(){
postId = document.getElementsByTagName("post-id");
}
function senddata(){
var data = getdata();
$.ajax({
url: "php/count_shares.php",
type: "POST",
data: data,
success: function(data){
console.log(data);
}
});
}
</script>
该功能通过每张图片的onClick方法完成。我在post-id标签中发送了一个字符串。然后使用count_shares.php,我的代码如下:
$opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$server = '';
$dbname = '';
$dsn = "mysql:host=".$server.";dbname=".$dbname;
$username = '';
$password = '';
if (isset($_POST['data'])) {
$click = $_POST['data'];
$sqlcs = ("UPDATE posted_ad_img SET share_count = share_count + 1 WHERE post_id = $click");
$dbcs = new PDO($dsn, $username, $password);
$dbcs->$opt;
$dbcs->prepare($sqlcs);
$dbcs->execute();
}
但是没有任何内容被发送到我的数据库。对此事有任何帮助吗?
答案 0 :(得分:1)
试试这个:
$.ajax({
url: "php/count_shares.php",
type: "POST",
data: "data="+data,
success: function(data){
console.log(data);
}
});
答案 1 :(得分:0)
首先 - 您不从getData函数返回值。需要改变它
function getdata(){
postId = document.getElementsByTagName("post-id");
return postId[0].nodeValue;
}
此外,你必须更改你的ajax请求,如下所示:
$.ajax({
url: "php/count_shares.php",
type: "POST",
data: {data: data},
success: function(data){
console.log(data);
}
});
如果你提供你的html我可以写更多细节