使用Ajax在简单Jquery事件上触发PHP

使用Ajax在简单Jquery事件上触发PHP,php,ajax,jquery,Php,Ajax,Jquery,基于单击的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 defaul

基于单击的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
     }
?>">
我也尝试过用.ajax函数代替它

$(".PlaylistHolder").load('/update/apps/music.php', playlist);
其想法是,它将重新加载“playlyholder”div的内容,而不是刷新整个页面。我没有收到任何语法错误,但我的变量不会传递。在我的PHP中,我也尝试了$\u GET和$\u REQUEST。有什么想法吗


通常我会自己修改代码,但考虑到调试的性质,如果我再修改一次默认歌曲,我想我会放弃的。谢谢大家

您实际上并没有传递返回的AJAX数据。传递给函数的参数包含从文件中获得的ajax调用。改变

$(".PlaylistHolder").load('/update/apps/music.php');


发布数据应格式化为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(),

参见示例

单击功能的关闭标签。刚才复制错了,您将格式设置为JSON是正确的。与.load函数完美配合使用。我认为使用.ajax时,我发送了信息,但当我将其加载回页面时,信息丢失了。
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(),