通过Ajax将值传递给php脚本

时间:2014-04-16 20:27:28

标签: javascript php jquery ajax

我有问题通过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;

我不明白为什么它不起作用。

感谢您的帮助!

3 个答案:

答案 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('&lt;?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>

希望这有帮助。