乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      java servlet 獲取ajax json null 應該如何寫ajax【重要】

       一本正經地胡鬧 2019-09-06

             var jsonObject = new Object();

              jsonObject.name = "jack";

              jsonObject.phone = "13879013334";

              jsonObject.id = "asdghj";

              

              $.ajax({

                  type:"POST",

                  url: "${pageContext.request.contextPath}/ajax",

                  //contentType: "application/json", //用servlet獲取 不需要寫這個 因為寫了post類型,默認application/x-www-form-urlencoded

                  dataType: "json", //服務器返回的數(shù)據(jù)類型??梢詫慾son,也可以寫text 有時候后臺發(fā)過來的json格式字符串會有問題,如BOM頭,用json會拿不到數(shù)據(jù),需要用text來測試           

                  data: jsonObject//發(fā)送到服務器的參數(shù),直接用json對象。因為contentType沒有用"application/json"就不需要用JSON.stringify(jsonObject)轉字符串,

                  success: function (data) {

                      console.log(data)

                  },

                  error: function (data){

                      alert("解析數(shù)據(jù)失?。?quot;);

              }

              });      

      解讀:

      客戶端提交的contentType只能為application/x-www-form-urlencoded或者multipart/form-data,二進制數(shù)據(jù)使用多重編碼。前面默認編碼,即字符串,后者為文件。但如果從服務器下載的話編碼就很多了,比如你說的application/json,text/plan,application/image.....等都可以。


      用springmvc的注解@RequestBody Map<String, String> params 可以接收到用ajax發(fā)來的參數(shù).

      前臺代碼

      $.ajax({

      type : "POST",
      url : url,
      data : data,
      dataType : "JSON",
      contentType:"application/json",
      success : function(result) {
      alert(result);
      }
      });

      后臺代碼
      @RequestMapping(value = "/sk/api/params", method = RequestMethod.POST)
      public void params(@RequestBody Map<String, String> params, HttpServletRequest request, HttpServletResponse response) {

      System.out.println("總共獲取到:"+params.size()+"個參數(shù)");
      for(String key : params.keySet()){
      System.out.println(key + " : " + params.get(key));
      }
      writeJson(response, "ok");
      }

      不用框架,前端request的contentType是application/json的話,這樣獲取

      StringBuffer json = new StringBuffer();
      BufferedReader reader = request.getReader();
      while ((line = reader.readLine()) != null) {
      json.append(line); 

      //若前端發(fā)送的是json格式字符串,即用JSON.stringify(obj)轉換,

                                                  拿到的是{"name":"jack","phone":"13879013334","id":"asdghj"}

      //若前端發(fā)送的是json對象,拿到的是name=jack&phone=13879013334&id=asdghj

      return json.toString();

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多