jQuery向webApi提交post json數(shù)據(jù)
在頁面想webApi post json數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)webapi不能直接以json的方式接受數(shù)據(jù)(注:我是沒有發(fā)現(xiàn)一個(gè)很好的方式來post json數(shù)據(jù)的);但是可以以數(shù)據(jù)結(jié)構(gòu)的方式傳遞;
如下:
//js代碼 var d = { Id: "1", Name: "name", Value: "OldValue", 7 }; $.ajax({ type: "post", url: url1, data: JSON.stringify({ pConfig: d }), success:function(d){ } });
public class Diff { public string Id { set; get; } public string Name { set; get; } public string Value { set; get; } } public Diff post([FromBody]Diff pConfig) { List<DiffConfig> s = pConfig; return s; }
像這樣的代碼是沒有問題的;得到的是一個(gè)標(biāo)準(zhǔn)結(jié)構(gòu)的數(shù)據(jù);
但是如果改為下面的代碼,就會(huì)發(fā)現(xiàn)沒有數(shù)據(jù)
//js代碼 var d = [{ Id: "1", Name: "name", Value: "Value", },{ Id: "2", Name: "name2", Value: "Value2", }]; $.ajax({ type: "post", url: url1, data: JSON.stringify({ pConfig: d }), success:function(d){ } });
public List<Diff> post([FromBody]List<Diff> diff) { List<Diff> d = diff; return d; }
這樣的代碼會(huì)發(fā)現(xiàn),數(shù)據(jù)沒有傳過來,后面才發(fā)現(xiàn),原來jq的ajax傳輸數(shù)據(jù)類型有問題;傳輸?shù)臄?shù)據(jù)類型contentType的默認(rèn)值為 "application/x-www-form-urlencoded"。默認(rèn)值適合大多數(shù)情況。但是卻不能適應(yīng)這次傳輸?shù)闹担?nbsp; contentType: 'application/json' 設(shè)置一下,就可以ok了;數(shù)據(jù)傳輸完全沒有問題;
$.ajax({ type: "post", dataType: 'json', url: url, contentType: 'application/json', data: JSON.stringify(d), success: function (d) { } });
以上所述是小編給大家介紹的jQuery向webApi提交post json數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
針對后臺列表table拖拽比較實(shí)用的jquery拖動(dòng)排序
這篇文章主要為大家詳細(xì)介紹了比較實(shí)用的jquery拖動(dòng)排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10制作高質(zhì)量的JQuery Plugin 插件的方法
最近jquery非常流行,想個(gè)性化定制一些功能,就可以將代碼寫成插件的形式,方便使用與修改。2010-04-04使用基于jquery的gamequery插件做JS乒乓球游戲
現(xiàn)在jquery比較流行,用js做游戲的也越來越多了,雖然現(xiàn)在html5出來了,但實(shí)際上要用html5做點(diǎn)啥出來還是得靠javascript,所以學(xué)好js是非常重要的2011-07-07jQuery插件開發(fā)發(fā)送短信倒計(jì)時(shí)功能代碼
最近項(xiàng)目開發(fā)中遇到這樣的功能:1.點(diǎn)擊按鈕的時(shí)候,可以進(jìn)行倒計(jì)時(shí),倒計(jì)時(shí)自定義.2.當(dāng)接收短信失敗后,倒計(jì)時(shí)停止,可點(diǎn)擊重新發(fā)送短信.3.點(diǎn)擊的元素支持一般標(biāo)簽和input標(biāo)簽??此坪軓?fù)雜其實(shí)實(shí)現(xiàn)代碼很簡單,下面小編給大家分享下實(shí)現(xiàn)代碼,需要的朋友參考下吧2017-05-05Jquery 改變r(jià)adio/checkbox選中狀態(tài),獲取選中的值(示例代碼)
這篇文章主要介紹了Jquery 改變r(jià)adio/checkbox選中狀態(tài),獲取選中的值(示例代碼) 需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12簡單實(shí)現(xiàn)限制uploadify上傳個(gè)數(shù)
本文給大家分享的是在使用uploadify上傳文件或者圖片的時(shí)候,如何做到限制上傳個(gè)數(shù)的方法,十分的簡單方便實(shí)用,有需要的小伙伴可以參考下。2015-11-11boxy基于jquery的彈出層對話框插件擴(kuò)展應(yīng)用 彈出層選擇器
當(dāng)大家進(jìn)行復(fù)雜功能設(shè)計(jì)的時(shí)候,在對多級聯(lián)選擇進(jìn)行設(shè)計(jì),為了獲得更好的用戶體驗(yàn)和節(jié)省頁面空間,往往會(huì)使用彈出層的方法。2010-11-11