ホームページ > 記事 > ウェブフロントエンド > Ajaxがjson形式のデータをバックグラウンドに送信する際のエラーの対処方法
今回はAjaxがバックグラウンドにjson形式のデータを送信する際のエラーの対処方法について紹介します。見て。
問題の説明: 以下の図に示すように、Ajax は json 形式のデータをバックグラウンドに送信して 415 エラーを報告します
ページ コードfunction saveUser(){ var uuId = document.getElementById("uuid").value; var idCard = document.getElementById("idCard").value; alert(uuId+idCard); // var result = new Object(); // result.uuId = uuId; // result.idCard = idCard; // var saveData = JSON.stringify(result); // alert(saveData); $.ajax({ url : "xdds/saveUser.do?random=" + Math.random(), type : "post", data : {"uuid" : uuId,"idCard" : idCard}, // data:saveData, dataType : 'json', // contentType : "application/json", success:function(data){ } }); }バックエンド コード
@RequestMapping(value = "/saveUser.do", method = { RequestMethod.POST }) @ResponseBody public Map<String, Object> saveUser (@RequestBody MapUser user){ Map<String, Object> map = new HashMap<String, Object>(); System.out.println(user.getUuid()+user.getIdCard()); map.put("result", "fda"); return map ; }エラー分析: 415 (サポートされていないメディア) タイプ) 要求された形式は、要求されたページでサポートされていません
正しい JSON 形式の {key:value, key:value}key と value には二重引用符が必要です。上記のフロントエンドコードデータのデータ値にはダブルクォーテーションが入っていないため、エラーが報告されています(以前のプロジェクトではこのように書いて問題なかったので)
なので、予備的な分析はフレームワークの問題である可能性があります一部のフレームワークでは、
data: {"uuid" : uuId,"idCard" : idCard} を正しい json 形式にカプセル化できます。
具体的な理由はまだ不明です。ブロガーがそれを理解したら共有します
解決策: フロントデスクにコメントされているコードを開きます
var saveData = JSON.stringify(result)<br>这个函数可以转化成真确的json格式。<br><br>ps:小白一个,有不对的地方请大神指正;有大神知道具
この記事の事例を読んでマスターしてください。方法については、さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:
AjaxバックグラウンドでアップロードされたJSONデータを処理する方法成功ajaxはページの戻りパラメータを取得し、コントロールに値を割り当てます
以上がAjaxがjson形式のデータをバックグラウンドに送信する際のエラーの対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。