2019年10月16日 星期三

[網站開發筆記]axios.post 參數如何從ASP.NET 的Request物件取出

         axios get 傳參數時 用 params 包起來後會以Query String方式傳遞在ASP.NET 可以用 Request["..."] 或 Request.QueryString["..."]取得:

例如:
                    axios.get("xxxxx.aspx", params:{ id : 'abc' })
                    .then((res) => { })
   
         
                   String id = Request["id"];

       
                    axios.post("xxxxx.aspx", { id : 'abc' })
                    .then((res) => { })

         axios post 傳參數時 在ASP.NET 用 Request["..."] 或 Request.QueryString["..."]會取不到資料,因為post是將參數放在 Request Payload中,所以要透過Request.InputStream將資料取出,
可再透過 JsonConvert.DeserializeObject轉成json物件來做後續處理

     
        StreamReader stream = new StreamReader(Request.InputStream);
        String requestPayload = stream.ReadToEnd();
        var postData = JsonConvert.DeserializeObject<dynamic>(requestPayload);

     
          String id = postData["id"];