【问题标题】:trigger javascript and sql query at same time [duplicate]同时触发javascript和sql查询[重复]
【发布时间】:2018-04-05 17:48:17
【问题描述】:

我有一个 javascript,可以在单击链接时从文件列表中播放音频文件。页面没有重新加载,它工作正常.. 到目前为止。 现在我想触发一个 sql 插入查询,该查询将使用有关播放的音频文件的信息更新我的数据库。由于我使用 e.preventDefault 我没有加载任何新页面,因此我无法以这种方式触发 sql 运行。 我该怎么做? 我的页面是 php 和 javascript 的混合体。下面是javascript部分。 请给我一些建议或方向,因为我不知道从哪里开始。

function audioPlayer(){
            $(document).on("click", "#playlist a", function(e) { 
               e.preventDefault(); 
               $("#audioPlayer")[0].src = this;
               $("#audioPlayer")[0].play();
            });
    }

【问题讨论】:

  • 您是否尝试过向您的服务器发出 ajax 请求?不需要刷新页面,可以通过点击事件触发。
  • 玛丽珍的推荐是我下面的答案
  • 您想要 AJAX 和 JQuery...您可以发布到 Web 服务。

标签: javascript php sql


【解决方案1】:
$.post("savetodb.php", {key:value, key2:value2, etc:stuff},       
function (status, data){
if(status == "success"){
console.log(data);
}
});

数据是您在保存到数据库的 php 文件中回显的任何内容。关键是 $_POST['key'] 就像表单一样......就像 key2 等是关键。因此,您可以像传递表单数据一样传递它。

或者你也可以使用 $.get() 或者 $.ajax() 方法

希望这会有所帮助:)

数据的控制台日志可以是您在将数据保存到数据库后执行您想做的任何事情的地方。

在 savetodb.php 中你会得到:

if(isset($_POST['key'])){ 
// save value of post to DB 
// if save is successful:
echo "I did something good."; 
}

您的控制台数据日志会显示“我做了好事”。

【讨论】:

  • 谢谢 :) 但所有这些都在 audioPlayer() 函数中?
  • $.post 可以,但是 PHP 文件是独立的
猜你喜欢
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 2013-12-23
  • 1970-01-01
  • 2020-09-11
  • 2017-09-20
  • 2019-01-12
  • 2013-03-14
相关资源
最近更新 更多