Ajax不发送PHP POST数据

Ajax不发送PHP POST数据,php,jquery,ajax,Php,Jquery,Ajax,我使用下面的ajax脚本在对行重新排序后将数据发回(这很好)。拖放该行后,警报(数据)中没有显示任何内容。它应该告诉我它试图传递给'refresh_order.php'文件的内容 我不是jQuery或ajax专家——我在网上找到了这段代码,第一部分对我很有用(拖放),但我不知道将数据发布回MySQL的ajax有什么问题 我需要做什么来解决这个问题 $('tbody').sortable({ cancel: ":input,button,[contenteditable]", ax

我使用下面的ajax脚本在对行重新排序后将数据发回(这很好)。拖放该行后,
警报(数据)
中没有显示任何内容。它应该告诉我它试图传递给'refresh_order.php'文件的内容

我不是jQuery或ajax专家——我在网上找到了这段代码,第一部分对我很有用(拖放),但我不知道将数据发布回MySQL的ajax有什么问题

我需要做什么来解决这个问题

$('tbody').sortable({
    cancel: ":input,button,[contenteditable]",
    axis: "y",
    update: function (event, ui) {
        var data = $(this).sortable('serialize');

         alert(data);  // Sent to server

        $.ajax({
            data: data,
            type: 'POST',
            url: 'refresh_order.php',
            success: function(response) {
             //    alert(response);   // Server response
            }
        });
    }
});
[我浏览了这里关于Stack Overflow的大部分帖子,没有发现任何有助于我的情况。我甚至试图联系我获得代码的人,但没有收到回复。]

来自:

注意:如果serialize返回空字符串,请确保id属性包含下划线。它们的格式必须为:“set_number”,例如,id属性为“foo_1”、“foo_5”、“foo_2”的3元素列表将序列化为“foo[]=1&foo[]=5&foo[]=2”。可以使用下划线、等号或连字符分隔集合和数字。例如,“foo=1”、“foo-1”和“foo_1”都序列化为“foo[]=1”

我假设您的
tr
元素缺少相应格式的
id
属性。下面是一个工作示例:

<table>
  <tbody>
    <tr id="tr_1">
      <td>r1c1</td>
      <td>r1c2</td>
    </tr>
    <tr id="tr_2">
      <td>r2c1</td>
      <td>r2c2</td>
    </tr>
  </tbody>
</table>

好的,那么您的问题发生在$.ajax之前,这意味着这不是ajax问题?问题更可能是您没有正确检索数据,而不是ajax问题。您确定
更新
事件处理程序中的
引用了正确的元素吗?如果这也是一个与数据库相关的问题,您应该发布它的代码,包括html@KevinB例如我不知道。我只知道应该显示发送内容的警报是空的。我不知道为什么。那么是的,这不是ajax问题。您可以删除ajax请求,但仍然会遇到相同的问题<代码>变量数据=$(this).sortable('serialize')可能不正确。解决我问题的部分是更改

$('tbody').sortable({
  cancel: ":input,button,[contenteditable]",
  axis: "y",
  update: function(event, ui) {
    var data = $(this).sortable('serialize');
    console.log(data);
  }
});