从JavaScript调用Java代码(Spring boot)
这是我的控制器:从JavaScript调用Java代码(Spring boot),javascript,java,url,spring-boot,Javascript,Java,Url,Spring Boot,这是我的控制器: @控制器 @请求映射(“/test”) 公共类TestServlet{ @请求映射(“/country/{latitude}-{longitude}”) 公共字符串getCountry(@PathVariable字符串纬度,@PathVariable字符串经度,型号){ //将数据注入JSP model.addAttribute(“纬度”,纬度); addAttribute(“经度”,经度); //返回html 返回“private/private”; }像这样的东西就可以了
@控制器
@请求映射(“/test”)
公共类TestServlet{
@请求映射(“/country/{latitude}-{longitude}”)
公共字符串getCountry(@PathVariable字符串纬度,@PathVariable字符串经度,型号){
//将数据注入JSP
model.addAttribute(“纬度”,纬度);
addAttribute(“经度”,经度);
//返回html
返回“private/private”;
}
像这样的东西就可以了
$.ajax({
type : "GET",
url : "http://<server>:<port>/test/country/<latitudevalue>-<longitudevalue>",
contentType: "application/json",
dataType: "json",
success : function (data, status) {
......
},
error : function (status) {
....
}
});
$.ajax({
键入:“获取”,
url:“http://:/test/country/-”,
contentType:“应用程序/json”,
数据类型:“json”,
成功:功能(数据、状态){
......
},
错误:功能(状态){
....
}
});
像这样的东西就可以了
$.ajax({
type : "GET",
url : "http://<server>:<port>/test/country/<latitudevalue>-<longitudevalue>",
contentType: "application/json",
dataType: "json",
success : function (data, status) {
......
},
error : function (status) {
....
}
});
$.ajax({
键入:“获取”,
url:“http://:/test/country/-”,
contentType:“应用程序/json”,
数据类型:“json”,
成功:功能(数据、状态){
......
},
错误:功能(状态){
....
}
});
我担心@PathVariable在正确识别以“-”分隔的变量方面存在一些问题。
对于这个任务,我会使用其他标准字符,比如“/”或“&”
我还将在@RequestMapping注释中指定HTTP方法,如下所示:
@RequestMapping(value = "/country/{latitude}-{longitude}", method = RequestMethod.GET)
js ajax调用类似于:
$.ajax({
type : "GET",
contentType: "application/json",
dataType: "json",
url : "/test/country/" + lat + "-" + lon,
success : function (data, status) {
/*CODE*/
},
});
我担心@PathVariable在正确识别由“-”分割的变量方面存在一些问题。
对于这个任务,我会使用其他标准字符,比如“/”或“&”
我还将在@RequestMapping注释中指定HTTP方法,如下所示:
@RequestMapping(value = "/country/{latitude}-{longitude}", method = RequestMethod.GET)
js ajax调用类似于:
$.ajax({
type : "GET",
contentType: "application/json",
dataType: "json",
url : "/test/country/" + lat + "-" + lon,
success : function (data, status) {
/*CODE*/
},
});
如果您想在JSON中获得结果,那么可以按如下方式更改控制器
@Controller
@RequestMapping("/test")
public class TestServlet {
@ResponseBody
@RequestMapping("/country", method = RequestMethod.GET, produces = "application/json")
public Map<String, String> getCountry(@PathVariable String latitude, @PathVariable
String longitude){
final Map<String, String> messageObject = new HashMap<>();
messageObject.put("latitude", latitude);
messageObject.put("longitude", longitude);
//return the html
return messageObject;
}
@控制器
@请求映射(“/test”)
公共类TestServlet{
@应答器
@RequestMapping(“/country”,method=RequestMethod.GET,products=“application/json”)
公共地图getCountry(@PathVariable字符串纬度,@PathVariable
字符串经度){
final Map messageObject=new HashMap();
messageObject.put(“纬度”,纬度);
messageObject.put(“经度”,经度);
//返回html
返回消息对象;
}
然后在客户端
$.getJSON("/country", {latitude: <latitude>, longitude: <longitude>}, function(data) {
if (data != null) {
for(key in data){
var lat = data[latitude];
var long = data[longitude];
}
}
});
$.getJSON(“/country”,{纬度:,经度:},函数(数据){
如果(数据!=null){
用于(输入数据){
var lat=数据[纬度];
var long=数据[经度];
}
}
});
如果希望以JSON格式获得结果,则可以按如下方式更改控制器:
@Controller
@RequestMapping("/test")
public class TestServlet {
@ResponseBody
@RequestMapping("/country", method = RequestMethod.GET, produces = "application/json")
public Map<String, String> getCountry(@PathVariable String latitude, @PathVariable
String longitude){
final Map<String, String> messageObject = new HashMap<>();
messageObject.put("latitude", latitude);
messageObject.put("longitude", longitude);
//return the html
return messageObject;
}
@控制器
@请求映射(“/test”)
公共类TestServlet{
@应答器
@RequestMapping(“/country”,method=RequestMethod.GET,products=“application/json”)
公共地图getCountry(@PathVariable字符串纬度,@PathVariable
字符串经度){
final Map messageObject=new HashMap();
messageObject.put(“纬度”,纬度);
messageObject.put(“经度”,经度);
//返回html
返回消息对象;
}
然后在客户端
$.getJSON("/country", {latitude: <latitude>, longitude: <longitude>}, function(data) {
if (data != null) {
for(key in data){
var lat = data[latitude];
var long = data[longitude];
}
}
});
$.getJSON(“/country”,{纬度:,经度:},函数(数据){
如果(数据!=null){
用于(输入数据){
var lat=数据[纬度];
var long=数据[经度];
}
}
});
Merci!谢谢Merci!谢谢Merci!谢谢Merci!谢谢Merci!谢谢Merci!谢谢Merci!谢谢