我有一個問題,在使用Spring MVC不可能呼叫控制器方法,用Spring MVC的Ajax調用
,我想用ajax調用,試圖呼叫控制器的方法,但我想不出,有一個JSP頁面和控制器類
我的Jsp頁面,
<form role="form" >
<div class="form-group">
<label for="Ders">Ders</label>
<form:select path="derslist" class="form-control" id="ddlders">
<form:options items="${derslerlistesi}" itemValue="dersid"
itemLabel="ders" />
</form:select>
</div>
<div class="form-group">
<label for="KonuAd">Konu Ad</label> <input type="text"
class="form-control" id="KonuAd" placeholder="Konu İsmi Giriniz!">
</div>
<div class="form-group">
<button type="submit" id="btnekle" class="btn btn-default">Ekle</button>
</div>
和我的控制器類
package publisher.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import publisher.dao.Dao;
import publisher.entity.Dersler;
import publisher.entity.Konular;
@Controller
public class IslemlerController {
@Autowired
private Dao dao;
@Autowired
private Konular _konu;
@RequestMapping(value = "/islemler", method = RequestMethod.GET)
public String Home(Model model,Dersler dersler) {
model.addAttribute("derslist",dersler);
return "islemler";
}
@ModelAttribute("derslerlistesi")
public List<Dersler> getdersler()
{
return dao.getAll(Dersler.class);
}
@ModelAttribute("konulistesi")
public List<Konular> getKonular()
{
return dao.getAll(Konular.class);
}
@ResponseBody
@RequestMapping(value="/konukaydet",method=RequestMethod.POST)
private Konular KonuKaydet (@RequestParam String konu,@RequestParam int dersid)
{
_konu.setKonu(konu);
_konu.setDersid(dersid);
_konu.setSinavid(1);
_konu = dao.save(_konu);
System.out.println("kaydet e girdi !");
return _konu;
}
}
和我的腳本代碼
$(document).ready(function() {
$("#btnekle").click(function() {
var input = {
"konu": $("#KonuAd").val(),
"dersid": $("#ddlders").val()
};
var inputStr = JSON.stringify(input);
alert(inputStr);
$.ajax({
url: "/islemler/konukaydet",
type: "POST",
data: inputStr,
dataType: "json",
success: function(output) { // callback method for further manipulations
var str = JSON.stringify(output);
alert("success ");
$("#output").text(data);
},
error: function(data) { // if error occured
alert("err");
$("#error").text(data);
}
});
});
});
感謝您的幫助!
你可以檢查你的響應呼籲瀏覽器並檢查它返回的響應代碼是什麼? – adi
好,然後通過接受或投票的意見關閉這個問題 –
實際上,我得到了一個新問題ajax調用成功沒有射擊我的代碼下面,它的工作調用方法,並做了一些工作,但沒有射擊成功ajax調用你有任何想法? –