AJAX傳遞陣列到後台處理

2021-06-23 01:32:28 字數 1353 閱讀 4333

在開發中有時可能傳遞一批類似結構的資料到後台處理,但是ajax又不能像後台語言那樣直接傳乙個array物件過去,那怎麼辦呢?

這個時候有個變通的方法,就是在前端將物件放到陣列裡面,然後序列化後傳遞到後台,在後台接受到資料後在反序列化回來即可,下面是乙個例子。

1.前端處理

var peoples = ; //定義乙個名為peoples的陣列

for (var i = 0; i < 4; i++) ;

people.name = "name" + i.tostring();

people.age = 20 + i;

peoples[i] = people;

}var data = {};

data.peoples = peoples;//注意這裡data的[peoples]屬性需要與後台用於反序列化裡的物件名一致

$.ajax(, //將物件序列化為字串

datatype: "xml",//這裡為啥要設定xml呢?看下面

success: function (data) ,

error: function (e, r, t) ,

complete: function ()

});

2.後端處理

/// /// 單個人

///

public class people

public int age

}/// /// 一組人

///

public class peoples

}/// /// webservice1 的摘要說明

///

[webservice(namespace = "")]

[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]

[system.componentmodel.toolboxitem(false)]

// 若要允許使用 asp.net ajax 從指令碼中呼叫此 web 服務,請取消對下行的注釋。

[system.web.script.services.scriptservice]

public class webservice1 : system.web.services.webservice";}

}

3.如何檢視ajax呼叫後返回的資訊呢?

前台傳送 ajax 請求到後台傳遞陣列引數

web專案開發中,我們經常會遇到需要向後台傳遞乙個陣列的情況,主要有兩種形式,一種是傳遞簡單的字元陣列,另一種就是傳遞乙個物件陣列,以下是針對這兩種情況的處理方式。傳遞字元陣列 jquery.ajax向後台傳遞乙個字元陣列,需要設定 traditional true,後台用 string arr 就...

js傳遞陣列到後台

post方法不得行,各種問題.改為ajax就闊以了.預設的話,traditional為false,即jquery會深度序列化引數物件,以適應如php和ruby on rails框架,但servelt api無法處理,我們可以通過設定traditional 為true阻止深度序列化,var condi...

ajax傳遞給後台陣列引數方式

出自 在專案上用到了批量刪除與批量更改狀態,前台使用了easyui的datagrid,用到了批量更改資料狀態功能。在前台可以獲取每條資料的id,但是如何通過陣列方式傳遞給後台?通過昨晚的各種方式的除錯,終於得出了答案!在此作為備忘。目前有兩種方式可行 方式一前台 方式一 var list for v...