剛用webapi,javascript
用$.get時,先後臺的請求響應成功了,但在用$.post方法時遇到很多問題。html
後搜到一英文資料,基本反映了個人問題,現摘譯以下:java
web api 很好,但post參數問題上,須要用些手段,有三個事你要知道jquery
一、傳基本參數進去,必須用【frombody】標註一下web
public string Post(string value)
post函數即便執行,但永遠返回null 。(在我這請求時,還必須把Post的action的名稱也加上,才執行)sql
$.post('/api/ttt/post',{value:'hshh'})api
二、只能接收一個參數,即不容許多個 [FromBody]框架
「沒法將多個參數(「dwdm」和「state」)綁定到請求的內容」函數
「Web API reads the response body at most once, so only one parameter of an action can come from the request body. If you need to get multiple values from the request body, define a complex type.
Web API最多讀取響應體一次,所以只有動做的一個參數能夠獲自請求體。若是須要從請求體獲得多個值,須要定義複合類型。」post
三、傳入的對象必須是 =value的格式。
大多數的框架都是要key=value,但它卻偏不是。 這就是上面永遠返回null的緣由。要讓它返回值,必須
$.post('/api/ttt/post' ,'='+value)
或
$.post('/api/ttt/post' ,{'':value} )
以上各點是我實戰演練過的,看來最新的webapi也沒有修改這些問題。不知道項目組當時怎麼想的。
總上所述。看來我要用post傳參,永遠都寫一個類包裝一下參數吧!
最後OracleCommand的參數綁定時,雖然指定名稱,但順序必須按sql中出現的順序。坑爹呀,這些項目組咋就很少作些工做解決這些個坑呢, 一羣坑爹貨!
http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api
我花了些時間看原博文下的留言,太感動人呀! 有獻計獻策的,也有解釋webapi設計目的,簡直像到社會主義終極目標同樣,是一羣苦中求樂,無比融洽的同志們。
最重要的是,他們彷佛都是真名,看來中央的政策是要向國際接軌啦,只有咱們這種烏合之衆才喜歡譁衆取寵!
附另一博文:http://www.cnblogs.com/r01cn/archive/2012/12/11/2812553.html