通过ajax和JQuery发送数据到php脚本
问题描述:
作为JQuery的新手,并试图了解关于发布数据的不同方式的所有帖子,我仍然对为什么我的功能无法正常工作感到失望。任何帮助将受到欢迎,因为我花了好几天的时间试图让这个工作。通过ajax和JQuery发送数据到php脚本
我有一个排序列表UL:
<ul class="gallery" id ="gallery">
<li id="item_59"><a href="/images/pages/apartamentos/155/image115_7.jpg" title=""><img src="/images/pages/apartamentos/155/image115_7.jpg" alt="" /></a></li>
<li id="item_61"><a href="/images/pages/apartamentos/155/image115_6.jpg" title=""><img src="/images/pages/apartamentos/155/image115_6.jpg" alt="" /></a></li>
<li id="item_62"><a href="/images/pages/apartamentos/155/image115_3.jpg" title=""><img src="/images/pages/apartamentos/155/image115_3.jpg" alt="" /></a></li>
<li id="item_63"><a href="/images/pages/apartamentos/155/image115_5.jpg" title=""><img src="/images/pages/apartamentos/155/image115_5.jpg" alt="" /></a></li>
<li id="item_64"><a href="/images/pages/apartamentos/155/image115_2.jpg" title=""><img src="/images/pages/apartamentos/155/image115_2.jpg" alt="" /></a></li>
<li id="item_65"><a href="/images/pages/apartamentos/155/image115_1.jpg" title=""><img src="/images/pages/apartamentos/155/image115_1.jpg" alt="" /></a></li>
<li id="item_66"><a href="/images/pages/apartamentos/155/image115_4.jpg" title=""><img src="/images/pages/apartamentos/155/image115_4.jpg" alt="" /></a></li>
</ul>
然后在相同的文档我有这个jQuery:
<script type="text/javascript">
$(document).ready(function() {
$(function(){
$("#gallery").sortable({stop:function(event, ui) {
$.ajax({
type: "GET",
url: "image_order.php",
data: $("#gallery").sortable("serialize"),
success: function(data) {
if (data) {
$('#msg').html('Success');
}
},
error: function() {
$('#msg').html('Failed');
}
})
}
});
}
}
</script>
然后,我有一个image_order.php:
foreach ($_GET['item'] as $position => $item) {
$query_edit = "UPDATE `image_order` SET `position` = $position WHERE `id` = $item";
mysql_query($query_edit, $ith) or die(mysql_error());
$sql[] = "UPDATE `image_order` SET `position` = $position WHERE `id` = $item";
}
echo json_encode($sql);
当你手动输入 image_order.php?item [] = 1 & item [] = 2 &项目[] = 3 &项目[] = 4个 回报:
["UPDATE `image_order` SET `position` = 0 WHERE `id` = 1","UPDATE `image_order` SET `position` = 1 WHERE `id` = 2","UPDATE `image_order` SET `position` = 2 WHERE `id` = 3","UPDATE `image_order` SET `position` = 3 WHERE `id` = 4"]
我有一个类似json的功能,此页面上的作品,我看到被称为在控制台的URL,但没有这一项。
我也试过$( “ul.gallery”)排序({停止:函数(事件,UI){...但是,这并不工作
帮助将是巨大的。 ..please ...
答
我不得不把sortstop事件(RTM)绑定:
http://jqueryui.com/demos/sortable/#event-stop
$("ul.gallery").bind("sortstop", function(event, ui) {
$.ajax({
type: "GET",
url: "image_order.php",
data: $("ul.gallery").sortable("serialize"),
success: function(data) {
if (data) {
$('#msg').html('Success');
}
},
error: function() {
$('#msg').html('Failed');
}
})
});
是放在同一目录下的HTML代码image_order.php – 2012-02-04 16:28:20
是这个原因,该功能是在一个木瓦cript文件但我粘贴在html中以确保 – Peter 2012-02-04 16:32:30
$(document).ready和$(function)执行完全相同的功能,因此请删除其中一个。我不确定这会不会解决我们的问题。 – 2012-02-04 16:45:08