簡體   English   中英

Ajax中的對象的JQuery數組

[英]JQuery array of objects in ajax

我想通過ajax通過post發送對象數組。 背景故事:用戶選擇了多個房間,這些房間應該使用php預訂在另一個文件中。
數組/對象定義為:

var rooms = {};
rooms[rname] = 
                {
                        "rname": rname, // eg 1.27
                        "date": date, // eg 2013-04-24
                        "time": time, // eg 20:15
                        "duration": duration // eg 4
                }

然后進行ajax調用

$.ajax({ 
         type: 'GET', //used get to see the parameters passed
         url: 'book_room.php',
         data: rooms
});

但是,似乎發送的請求有點像這樣:

http://url.dk/book_room.php?1.29%5Brname%5D=1.29&1.29%5Bdate%5D=2013-04-28&1.29%5Btime%5D=20%3A15&1.29%5Bduration%5D=4&2 0.25%5Brname%5D = 2.25&2.25%5Bdate%5D = 2013年4月28日及2.25%5Btime%5D = 20%3A15&2.25%5Bduration%5D = 4

如何在請求中成功傳遞一組房間,以便可以正確使用它們? 我感到自己誤解了這里某些東西的目的。

根據API http://api.jquery.com/jQuery.ajax/進行配置,您應該像這樣進行POST:

$.ajax({
    contentType:"application/json",
    url:yourEndPoint,
    data:JSON.stringify(yourStuffGoesHere),
    dataType:"json",
    processData:false,
});

根據建議,我將發布該問題的修復程序作為答案。
我找到了一個解決方案,其中根據選擇的房間數提出了X個請求,並且效果很好。

$.each(rooms, function(k,v) {
                    $.ajax({
                        type: 'GET',
                        url: 'book_room.php',
                        data: v
                    });
                });

這些請求使這次看起來很容易處理。 請求示例:

http://url.dk/book_room.php?rname=1.47&date=2013-04-28&time=21%3A00&duration=4 http://url.dk/book_room.php?rname=22.3&date=2013-04-28&time = 21%3A00&持續時間= 4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM