ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxがjson形式のデータをバックグラウンドに送信する際のエラーの対処方法

Ajaxがjson形式のデータをバックグラウンドに送信する際のエラーの対処方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-03 14:14:112145ブラウズ

今回は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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。