.net小白一枚,經過了幾個小時的研究,由於錯誤的寫法導致後臺始終接受不到前臺傳遞過來的參數。首先看看控制器的參數 本人實在是偷懶才使用dynamic關鍵字,ajax使用如下寫法,會一直出現 不能綁定null或者是account沒有之類的錯誤。 設置了content-type後臺也不能接收到。這比較 ...
.net小白一枚,經過了幾個小時的研究,由於錯誤的寫法導致後臺始終接受不到前臺傳遞過來的參數。首先看看控制器的參數
public Core.MVC.ServiceResult<DTO.Out.MenberLoginOutDto> Login(dynamic obj) { tb_Member temp = Service.MemberService.LoginNew(obj.Account.ToString(), obj.Pwd.ToString()); }
本人實在是偷懶才使用dynamic關鍵字,ajax使用如下寫法,會一直出現 不能綁定null或者是account沒有之類的錯誤。
$.ajax({ type: "POST", url: "http://localhost:1566/api/logic/Login", headers: { "Content-Type":"application/json" }, data: { LoginAccount: 'xxxx', LoginPassword: 'xxxxx'}, success: function (data, status) { } });
設置了content-type後臺也不能接收到。這比較鬱悶了,因為在postman是可以訪問的。但是仔細觀察了請求參數後,發現了一個問題,上述方式是傳遞了一個對象(因為可以摺疊)。postman只是傳遞一個json字元串,現在想想自己真的是太笨了。改成如下方式後臺就可以順利的接收到了
$.ajax({ type: "POST", url: "http://localhost:1566/api/logic/Login", headers: { "Content-Type":"application/json" }, data: JSON.stringify({ LoginAccount: 'xxxx', LoginPassword: 'xxxxx' }), success: function (data, status) { } });View Code