【发布时间】:2014-07-04 07:02:14
【问题描述】:
您好,我有 2 个 html 表格。我正在使用 jquery UI 来更改表的位置,并通过 ajax 传递这个 jquery 事件参数,同时获取表位置的索引和项目 ID,以便我可以在数据库中更新表的当前位置。一切运行良好,我可以传递参数。我犯的唯一错误是我无法在 foreach 语句中正确接受这个论点。它在 foreach 语句中生成错误,为 foreach() 提供的参数无效。这是我的小提琴:demo。我想传递数组,但我在 ajax 中传递字符串。但不能这样做。当我尝试 print_r($_POST): Array ( [aktion] => show-widget [widget] => 1 [item] => Fahrzeuge ) 这是我的代码: 仪表盘.js
$("#widget_update").sortable({
update : function(event, ui) {
var widget = $('#widget_update').sortable('serialize');
$.ajax({
type: "POST",
url: "ajax/dashboard.php",
dataType : 'json',
cache: false,
data: {'aktion' : 'show-widget','widget':ui.item.index(),'item':ui.item[0].id},
success: function(data){
$('#widget').html(data.html);
},
error: function(data){
alert('Error');
}
});
}
});
dashboard.php
foreach ($_GET['item'] as $position => $item) :
$sql="Update dashboard_widget_users inner join dashboard_widget on dashboard_widget_users.dsnr_dashboard_widget=dashboard_widget.ID
set dashboard_widget_users.position=".$position."
where dashboard_widget.name='".$item."' and dashboard_widget_users.dsnr_yw_user=10";
$sql_update=mysql_query($sql);
endforeach;
【问题讨论】:
-
您传递给
foreach的值必须是一个数组。 -
您正在通过 post 发送数据并通过 get 接收 ;-)
-
在 firbug 中我可以看到参数为: aktion show-widget widget 0 item NEWS 当我尝试改变表格的位置时。
-
对。而
NEWS似乎是一个字符串,而不是一个数组。不确定您要通过字符串上的foreach循环来完成什么。 -
对不起,我现在把它改成 Post ;)
标签: javascript php ajax jquery-ui foreach