jqueryを使用してビューからspring mvcコントローラにデータを送信する必要があります。 Spring mvcはこれらの値をdbに挿入/更新します。jsonデータでjQuery ajaxリクエストがspring mvcコントローラに到達していません
var json = {"KPI" : visual, "partnerName": params['partnerName'],
"partnerAddress" : params['partnerAddress'], "documentType" : params['documentType'],
"itemQualifier": getItemQualifier(),"itemIdentifiers" : params['itemIdentifiers'],
"currency" : getCurrency(), "sellSide": getSellSide()};
$.ajax({
type: "POST",
url: "/reports/savefilters",
data: json,
success: function(response){
alert('success: ' + response);
},
error: function(e){
alert('Error: ' + e);
}
});
Spring MVCのコントローラコード:
@RequestMapping(value="/savefilters", method=RequestMethod.POST)
public String saveFilters(@RequestBody AnalyticsFilters filters){
System.out.println("savefilters method in controller");
System.out.println("KPI:"+filters.getKPI());
if(filters.getPartnerName() != null && filters.getPartnerName().size()>0) System.out.println("partnerName:"+filters.getPartnerName().get(0));
if(filters.getPartnerAddress() != null && filters.getPartnerAddress().size()>0) System.out.println("partnerAddress:"+filters.getPartnerAddress().get(0));
if(filters.getDocumentType() != null && filters.getDocumentType().size()>0) System.out.println("documentType:"+filters.getDocumentType().get(0));
System.out.println("itemQualifier:"+filters.getItemQualifier());
if(filters.getItemIdentifiers() != null && filters.getItemIdentifiers().size()>0) System.out.println("itemIdentifiers:"+filters.getItemIdentifiers().get(0));
System.out.println("currency:"+filters.getCurrency());
System.out.println("sellSide:"+filters.getSellSide());
new DashboardDisplayService().saveFilters();
return "successful";
}
POSTリクエストメソッドを取得するために変換され、Spring MVCのコントローラに達することができないばかりされて、私は
コードの下のjQueryを使用しています。私はデータ型、contenttypeなどのような別のajax jsonのオプションを試してみましたPOSTメソッドはGETメソッドに変更されていないことを確認する方法???
ネットワーク検査でGETが送信されていることを確認しましたか、コントローラに到達していないことからこれを推測していますか?どのようにajaxリクエストがトリガされましたか、フォームのサブミットなど、防止されないデフォルトのアクションが存在する可能性がありますか? –
1.はい。私は要素を調べました。新しいタブでリンクを開いたときに "405 - GETはサポートされていません"というエラーが表示されました。 2. jqueryダイアログで選択するオプションがあります。 jquery ajaxリクエストをspring mvcに送信してdbを更新しようとしています。ここにフォーム提出が含まれていません – Hemachandra
新しいタブでリンクを開くと、常にGETになります。ネットワーク検査ツールで実際のAJAXリクエストを確認しましたか? –