Отправка данных в php скрипт через ajax & JQuery - PullRequest
0 голосов
/ 04 февраля 2012

Будучи новичком в JQuery и пытаясь понять все сообщения о различных способах размещения данных, я все еще не понимаю, почему моя функция не работает. Любая помощь будет приветствоваться, так как я потратил несколько дней, пытаясь заставить это работать.

У меня есть сортируемый список 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? пункт [] = 1 & пункт [] = 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"). Sortable ({stop: function (event, ui) {... но это тоже не работает.

Помощь была бы отличной ... пожалуйста ...

1 Ответ

0 голосов
/ 05 февраля 2012

Мне пришлось связать событие 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');
                    }

                })

            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...