基于点击的 div 的 ID,我希望能够更改嵌入链接。
此代码以前在我使用表单设置页面时有效。
<embed src=
"/<?php
if (isset($_POST['playlist'])) { // if ANY of the divs were clicked
echo $_POST['playlist']; // echo the choice
}else{
echo "5125962"; // As a default playlist
}
?>">
但是我的客户不喜欢页面刷新。在此基础上,我放弃了这个 JavaScript 的表单
$(document).ready(function() {
$(".playlist").click(function(){
var playlist = $(this).attr('id');
$.ajax({
url: '/update/apps/music.php',
data : playlist,
type : 'POST',
success : function(data) {
$(".PlaylistHolder").load('/update/apps/music.php');
}
});
});
});
代替 .ajax 函数我也试过
$(".PlaylistHolder").load('/update/apps/music.php', playlist);
这个想法是,代替刷新整个页面,它会重新加载“PlayListHolder”div 的内容。我没有收到任何语法错误,但我的变量不会执行。在我的 PHP 中,我也尝试了 $_GET 和 $_REQUEST。有什么想法吗?
通常我会自己修复我的代码,但考虑到调试的性质,我认为如果我再次使用默认歌曲,我会呕吐。谢谢大家
最佳答案
发布数据应格式化为 JSON 对象。您需要格式化数据才能像这样发布,
var list = $(this).attr('id');
$.ajax({
url: '/update/apps/music.php',
data :{playlist: list},
type : 'POST',
success : function(data) {
$(".PlaylistHolder").load('/update/apps/music.php');
}
});
否则你可以发布像这样的序列化表格
data :$('#yourFormId').Serialize(),
参见示例 Here
关于php - 使用 Ajax 在简单的 Jquery 事件上触发 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407248/