以下のコードは、AJAX CALLに対して400-BAD REQUESTエラーを表示しています。Spring MVC-JQuery-AJAX AjaxとSpring MVCを使用したテーブルからの単一行の更新
下のコードには、 ロールナンバー、ファーストネーム、ラストネーム、住所、編集、削除ボタンなどのすべての生徒記録が入力されています。 今はEDITボタンを操作しています。
要件: - 編集ボタンをクリックすると、その特定の行の編集にテーブル属性を使用できるようにする必要があります。編集をクリックすると、データベースに更新され、テーブルに非編集フィールドが表示されます。 以下は私のコントローラクラス
@RequestMapping(value="/updatetemp",method = RequestMethod.POST,produces =
{"application/json"})
SQLException{
@ResponseBody
public boolean edit(@RequestParam("rollnumber") int rollnumber,
@RequestParam("firstname") String firstname,
@RequestParam("surname") String surname,
@RequestParam("address") String address)
throws SQLException{
Student s = new Student();
s.setRollnumber(rollnumber);
s.setFirstname(firstname);
s.setSurname(surname);
s.setAddress(address);
if(this.studentService.update(s)){
return true;
}else{
return false;
}
}
以下は、私が主な問題は、私のAJAX呼び出しであると思い、私のjQueryとAjaxの呼び出しコード
$(document).ready(function() {
$(document).on('click','#editlink',function(){
var par = $(this).parent().parent();
var tdName = par.children("td:nth-child(2)");
var tdPhone = par.children("td:nth-child(3)");
var tdEmail = par.children("td:nth-child(4)");
tdName.html("<input type='text' class='firstname'
value='"+tdName.html()+"'/>");
tdPhone.html("<input type='text' class='lastname'
value='"+tdPhone.html()+"'/>");
tdEmail.html("<input type='text' class='address'
value='"+tdEmail.html()+"'/>");
$("#editlink").prop('disabled',true);
});
$(document).on('click','#updatelink',function(){
var rollnumber = $(this).parent().siblings('.rollnumber').text();
var firstname;
var surname;
var address;
$(this).parent().siblings("td.firstname").
find("input.firstname").each(function() {
firstname = (this.value);
});
$(this).parent().siblings("td.lastname").
find("input.lastname").each(function() {
surname = (this.value);
});
$(this).parent().siblings("td.address").
find("input.address").each(function() {
address = (this.value);
});
var studentjson = { rollnumber: rollnumber, firstname: firstname,
surname: surname,address: address };
$.ajax({
type: 'POST',
url: 'http://localhost:8080/SpringDemo/updatetemp',
data: studentjson,
contentType: 'application/json; charset=utf-8',
success: function (response) {
console.loge(response);
if(response == true){
$(this).parent().siblings("td.firstname").html("<td
class='firstname'>"+firstname+"</td>");
$(this).parent().siblings("td.lastname").html("<td
class='lastname'>"+surname+"</td>");
$(this).parent().siblings("td.address").html("<td
class='address'>"+address+"</td>");
}
}
});
});
です....私を助けてください。その2日間私は頑張っています...私は初心者です!
'contentType'オプションを設定せずに試しましたか? – Taplar
また、メソッド 'produce = {" application/json "}'が返されていますが、ブール値を返しています...... – Taplar
私は本当に何をすべきか分かりませんか? contentTypeを削除して生成する必要がありますか?試してみる? –