我有问题通过Ajax将值传递给我的php脚本,有我的代码:
我通过href链接向ajax发送值:
扫描目录后,我会在href:
上获取我的文件的链接<a href="" onclick="getfilename('<?php echo $file; ?>');"><?php echo $file; ?></a>
我的js函数接收值:
function getfilename(content) {
alert(content); // i can see my value here
$.ajax({ //not work
type: 'POST',
url: 'script.php',
data:{song: content},
async: false,
success: function(response) {
alert(response); //nothing
});
}
我的script.php
$album = $_POST['song'];
echo $album;
我不明白为什么它不起作用。
感谢您的帮助!
答案 0 :(得分:1)
尝试更改
<a href="" onclick="getfilename('<?php echo $file; ?>');"><?php echo $file; ?></a>
到此
<a href="#" onclick="getfilename('<?php echo $file; ?>');"><?php echo $file; ?></a>
在加载ajax数据之前,您的页面可能会刷新。
答案 1 :(得分:1)
查看你的js代码,你的成功回调在函数的末尾缺少一个“}”。
// $file = 'teste';
<a href="#" onclick="getfilename('<?php echo $file; ?>');"><?php echo $file?></a>
function getfilename(content) {
alert(content);
$.ajax({
type: 'POST',
url: 'script.php',
data:{song: content},
async: false,
success: function(response) {
alert('Response: ' + response); //Alerts Result
}
});
}
// Script.php
<?php
echo $_POST['song']
?>
答案 2 :(得分:1)
当您使用link元素时,它会在执行onclick事件后自动转到href中的位置。将其留空会重新加载页面。
我建议你添加&#34;返回false;&#34;作为onclick的最后一条指令。
<a href="" onclick="getfilename('<?php echo $file; ?>'); return false;"><?php echo $file?></a>
希望这有帮助。