我有一个jquery函数,如下所示:
$('.dislike_box a').click(function(event){
event.preventDefault();
var title = $(this).data('title');
alert(title);
$.ajax({
url: 'vote.php?vote=dislike&title=title',
success: function(result){
$('.dislike_box p.vote_text').text('Dont Like it.');
}});
});我的问题是,当我警告标题变量时,它是正确的,但当我将它传递给php脚本放入数据库时,php脚本使用$_GET[]方法,但将文字字符串“标题”而不是变量值放入数据库。
回答:感谢@Ivan
url: 'vote.php?vote=dislike&title='+title, 发布于 2016-07-21 00:43:48
通过AJAX发送的变量不是变量,而是字符串“title”。改为使用+将变量添加到URL中。
$('.dislike_box a').click(function(event){
event.preventDefault();
var title = $(this).data('title');
alert(title);
$.ajax({
url: 'vote.php?vote=dislike&title='+title,
success: function(result){
$('.dislike_box p.vote_text').text('Dont Like it.');
}});
});要在PHP文件中检索js变量:
<?php
if(isset($_REQUEST['title'])) {
$title = $_REQUEST['title'];
}发布于 2016-07-21 00:50:43
您将在AJAX调用中发送文字字符串title。你需要把你的title值放入你的URL中。
一个更好的解决方案是,如果你让jQuery转义值,所以你不需要担心,如果你的标题包含特殊字符,如?,&,=等。
$('.dislike_box a').click(function(event){
event.preventDefault();
var title = $(this).data('title');
alert(title);
$.ajax({
url: 'vote.php',
data: {
vote: 'dislike',
title: title
},
success: function(result){
$('.dislike_box p.vote_text').text('Dont Like it.');
}
});
});https://stackoverflow.com/questions/38486204
复制相似问题