如何使用ajax调用发布函数数据和变量数据

时间:2012-12-04 20:24:40

标签: ajax jquery

我正在尝试将序列化排序数据发送到我的PHP脚本,但我需要在post请求中添加另外两个变量。 这是我正在使用的代码,但我似乎无法将其他数据添加到帖子的数据属性中。

另外两个变量是普通字符串。我看了,但无论我尝试什么,它似乎搞砸了序列化的排序数据。 我只需要发送:

    var album 
    var ID 

有了请求,但似乎无法获得正确的结合

$(function() {
        $('#refloader').hide();
        $( "#images" ).sortable({
                        stop:function(event, ui) {
                            $('#refloader').show();

                                $.ajax({
                                                type: "POST",
                                                url: "http://#######/sort.php",
                                                data:  $("#images").sortable("serialize", {attribute : "data-id"}),


                                                success : function(response)

                                                {
                                                    console.log (response)
                                                    $('#refloader').hide();
                                                    $("#ajaxresponse").append($(response));


                                                    }


                                              });
                                            }



        });

        $( "#images" ).disableSelection();
    });

当我使用时:

      data:  $("#images").sortable("serialize", {attribute : "data-id"}),

我回来了:

         Array ( [0] => 2213132022 [1] => 2213131911 [2] => 2213130084 [3] => 2213130956 [4] => 2213129315 [5] => 2213128885 [6] => 2213129567 

当我使用时:

   data:  { image : $("#images").sortable("serialize", {attribute : "data-id"}) },  

我回来了:

          image[]=2213129776&image[]=2213132022&image[]=2213131911&image[]=2213130084&image[]=2213130956&image[] 

2 个答案:

答案 0 :(得分:0)

尝试将此参数添加到您的ajax

type: "POST",
traditional: true,

通常将它们全部包装在一个对象中

data:  { 
 images: $("#images").sortable("serialize", {attribute : "data-id"}),
 album: album,
 ID: ID
},

答案 1 :(得分:0)

我舔了它,并且认为我会把它张贴给子孙后代。 可排序函数序列化为字符串。 这就是赋值给变量时函数的变化。 因此,使用serialize函数中的toArray方法可以产生正确的结果。

感谢您的帮助。