基于点击的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(),
请参阅此处的示例
您实际上并没有传递返回的 AJAX 数据。传递给函数的参数包含 ajax 调用从文件中获取的任何内容。改变
$(".PlaylistHolder").load('/update/apps/music.php');
自
$(".PlaylistHolder").load(data);