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