簡體   English   中英

使用jQuery.ajax post函數將javascript數組中的數據傳遞給服務器?

[英]passing data in javascript array to server with jQuery.ajax post function?

我想知道是否可以使用jQuery的ajax函數將存儲在javascript數組中的數據傳遞給服務器。

在jQuery文檔中,它指定:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

可以將“數據”設置為數組嗎? 鑒於數據似乎期待關鍵價值對,它將如何運作? 我目前只是硬編碼值,但我希望它是一個更動態的方法..我目前的代碼是:

jQuery.ajax({
            url: "/createtrips/updateitin",
            type: 'POST',
            data: {place1: 'Sydney', place2: 'London'},
            dataType: 'json',
            });

我創建了一個這樣的數組:

var placesfortrip = {};

然后像這樣添加到它:

placesfortrip["item"+counter] = inputVal;

(其中counter是遞增的計數器變量)然后將其分配給ajax調用的data屬性

 jQuery.ajax({
            url: "/createtrips/updateitin",
            type: 'POST',
            data: placesfortrip,
            dataType: 'json',
            });

如果我查看firebug中的XHR選項卡,那么這些值就會被發布!

是的, jQuery.ajax()支持傳遞數組。 它只是將數組序列化為名稱 - 值字符串。

如果value是一個數組,jQuery會根據traditional設置的值使用相同的鍵序列化多個值(如下所述)。

我相信您希望使用JSON來傳遞這些值。

這是一個很好的起點

查看jQuery序列化: http//api.jquery.com/serialize/

$('form').submit(function() {
  alert($(this).serialize());
  return false;
});
This produces a standard-looking query string:

a=1&b=2&c=3&d=4&e=5

暫無
暫無

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

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