日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JQuery.Ajax()的data参数传递方式

發(fā)布時間:2025/4/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JQuery.Ajax()的data参数传递方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

最近,新學c# mvc,通過ajax post方式傳遞數(shù)據(jù)到controller。剛開始傳遞參數(shù),controller中總是為null?,F(xiàn)記錄一下,可能不全,純粹記個學習日記。

重點在于參數(shù)的方式,代碼為例子

1、這里??dataType: "json",表示返回的格式是json

前端:
var saveAlbum = function () {$.ajax({url: "/Home/PostAlbum",type: "POST",dataType: "json",data: { AlbumName: "shanghai", Entered: "5/9/2013" },success: function (result) {alert(result);},error: function (xhr, status, p3, p4) {var err = "Error " + " " + status + " " + p3;if (xhr.responseText && xhr.responseText[0] == "{")err = JSON.parse(xhr.responseText).message;alert(err);}});} controller:

public ActionResult PostAlbum(test test){string str = String.Format("保存成功PostAlbum:{0} {1:d}", test.AlbumName, test.Entered);return Json(str);//--------對應請求中dataType: "json",表示需要返回json類型//return String.Format("保存成功PostAlbum:{0} {1:d}", test.AlbumName, test.Entered);//------如果是string,則會報錯}

2、ajax請求中還要一個重要的參數(shù):?contentType: "application/json",表示傳入?yún)?shù)的格式

var saveAlbumJson = function () {$.ajax({url: "/Home/PostAlbum",type: "POST",contentType: "application/json",dataType:"json",data: JSON.stringify({ "AlbumName": "shanghai", "Entered": "5/9/2013" }),success: function (result) {alert(result);},error: function (xhr, status, p3, p4) {var err = "Error " + " " + status + " " + p3;if (xhr.responseText && xhr.responseText[0] == "{")err = JSON.parse(xhr.responseText).message;alert(err);}});} [HttpPost]public ActionResult PostAlbum(test test){string str = String.Format("保存成功PostAlbum:{0} {1:d}", test.AlbumName, test.Entered);//傳入test實體return Json(str);//return String.Format("保存成功PostAlbum:{0} {1:d}", test.AlbumName, test.Entered);} public class test{public string AlbumName { get; set; }public DateTime Entered { get; set; }}

3、如果要傳入list<實體>,比如List<test>,需要把傳入的data做轉換

var saveAlbumJsonList = function () {$.ajax({url: "/Home/AlbumList",type: "POST",contentType: "application/json",dataType: "json",data: JSON.stringify({"input":[{ AlbumName: "shanghai", Entered: "5/9/2013" },{...},{....}]}),success: function (result) {alert(result);},error: function (xhr, status, p3, p4) {var err = "Error " + " " + status + " " + p3;if (xhr.responseText && xhr.responseText[0] == "{")err = JSON.parse(xhr.responseText).message;alert(err);}});} public ActionResult PostAlbumList(List<test> input)//input必須要與data中數(shù)組中的key匹配{if (input != null){string str = String.Format("保存成功PostAlbum:{0} {1:d}", input[0].AlbumName, input[0].Entered);return Json(str);}else{return Json("參數(shù)獲取錯誤!");}//return String.Format("保存成功PostAlbum:{0} {1:d}", test.AlbumName, test.Entered);}

4、由上面三個例子,很容易想到,傳入多個list<實體>的方式

function postEmployees() {$.ajax({type: "POST",url: "/Home/Employees",contentType: "application/json",dataType: "json",async: false,data: JSON.stringify({"Employees": [{ "Id": "1", "lastName": "Gates" }, { "Id": "2", "lastName": "Bush" }, { "Id": "3", "lastName": "Carter" }],"Employers": [{ "Id": "4", "lastName": "Gates" }, { "Id": "5", "lastName": "Bush" }, { "Id": "6", "lastName": "Carter" }]}),success: function (jsonResult) {alert(jsonResult);}});} [HttpPost]public async Task<ActionResult> Employees(List<Employee> Employees, List<Employee> Employers){return Json("Employees", JsonRequestBehavior.AllowGet);} public class Employee{public int Id { get; set; }public string FirstName { get; set; }public string LastName { get; set; }}

轉載于:https://www.cnblogs.com/starksoft/p/9505803.html

總結

以上是生活随笔為你收集整理的JQuery.Ajax()的data参数传递方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。