function a() {
$.ajax({
url : "http://localhost:8080/ubi/checkIntegral",
async : true,
data:{"carOwnerID":"111111"},
dataType : 'json',
type : 'GET',
success : function() {
alert("ss");
},
error : function(map){
alert("FALSE");
}
});
}
@RequestMapping(value="/checkIntegral",method = RequestMethod.GET)
@ResponseBody
public Map<String,Long> checkIntegral(@RequestParam String carOwnerID ,HttpServletRequest request,HttpServletResponse response){
Long integral = impl.checkIntegral(Long.valueOf(carOwnerID));
Map<String,Long> map = new HashMap<String, Long>();
map.put("msg", integral);
return map;
}
Jika permintaan berjaya dan data dikembalikan, ia mungkin berkaitan dengan format data anda yang dikembalikan yang salah. Kerana anda menetapkan
dataType: 'json' untuk mengharapkan jenis data dikembalikan oleh pelayan
. Ini selalunya membawa kepada panggilan balikralat
. Sila kecualikan data yang dikembalikan.dataType : 'json' 预期服务器返回的数据类型
。这样往往会进入error
回调。你排除一下返回数据。而且,
Selain itu,error
Timbulkan nilai pulangan anda dan lihat data
HttpServletResponse bercanggah dengan panggilan balik ajax, cuma alih keluar HttpServletResponse.
Saya nampak
dataType : 'json',
anda memerlukan pelayan mengembalikan format jsonJika data yang dikembalikan oleh pelayan tidak dalam format json, ia akan masuk ke panggilan balik yang gagal.
Konfigurasikan dataType AJAX anda: "teks", dan kemudian gunakan alert(data) untuk melihat nilai pulangan
Memandangkan permintaan Ajax berbeza daripada respons, halaman tidak perlu dipaparkan selepas mendapat data, jadi tidak perlu RESPONSE untuk melompat ke halaman baharu. Jadi tidak perlu RETURN, tetapi cetak ke halaman yang diminta melalui PrintWriter
@RequestMapping(value="/checkIntegral", kaedah = RequestMethod.GET)
@ResponseBody
public void checkIntegral(@RequestParam String carOwnerID,HttpServletRequestRequest,HttpServletRequest respons) {
}
Saya tidak perasan bahawa ajax ini ialah permintaan merentas domain.
Jenis data nilai pulangan anda ialah json, tetapi anda mengembalikan Peta kepadanya di latar belakang