ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxがjson形式のデータをバックグラウンドに送信する際に発生する415エラーの原因分析と解決策

Ajaxがjson形式のデータをバックグラウンドに送信する際に発生する415エラーの原因分析と解決策

韦小宝
韦小宝オリジナル
2017-12-30 18:41:144213ブラウズ

ajaxjson形式のデータをバックグラウンドに送信する際のエラー415の原因と解決方法は何ですか?以下では、Script House の編集者が、Ajax 経由でバックグラウンドに JSON 形式のデータを送信する際に発生する 415 エラーの原因の分析と解決策をお届けします。ajax に興味のあるお友達は、ぜひ一緒にご覧ください

問題の説明:

下の図に示すように、Ajax は 415 エラーで json 形式のデータをバックグラウンドに送信します

ページコード


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){
}
});
}


バックエンドコード


りー


エラー分析: 415 (サポートされていないメディア タイプ) 要求された形式は、要求されたページでサポートされていません

正しい JSON 形式 {key:value, key:value} キーと値の両方を二重引用符で囲む必要があります。上記のフロントエンドコードデータのデータ値にはダブルクォーテーションが無いためエラーが報告されます(以前のプロジェクトではこのように書いても問題ないため)

そのため、予備的な分析はに問題がある可能性があります。フレームワーク、一部のフレームワークではデータ: {"uuid" : uuId,"idCard" : idCard} を正しい JSON 形式にカプセル化できます。

具体的な理由はまだ不明です、ブロガーも初心者です、ブロガーがそれを理解したら共有します

解決策: フロントエンドを開きますコメントコード

@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 ;
}


以上 以上、編集者が紹介したAjaxがバックグラウンドにJSON形式のデータを転送する際の415エラーの解析と解決方法でしたので、皆様のお役に立てれば幸いです! !

関連する推奨事項:

js はどのようにして json 配列の長さを取得しますか

Ajax はローカル json をどのように読み取ることができますか

Ajax はどのように Json および XML データを送信しますか

以上がAjaxがjson形式のデータをバックグラウンドに送信する際に発生する415エラーの原因分析と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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