我有一个JS,我将坐标发送到Servlet。
在我的JS中,我从jsp页面获取坐标:
function main1() {
$.ajax({
url: 'ServeltConnection',
type: "GET",
dataType: "json",
data: {
latitude: pos.lat,
longitude: pos.lng,
},
success: function(data){
//call of functions
}
});
}
我需要这些坐标,以便将它们发送到我的servlet中以获得返回json格式。
在我的Servlet中:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("application/json");
PrintWriter out = new PrintWriter(response.getWriter(), true);
List<Shop> shops;
try{
//code for connection with database
shops=getShops(request.getParameter("latitude"),request.getParameter("longitude"));
String json = new Gson().toJson(shops);
response.getWriter().write(shops);
db.close();
} catch (Exception ex) {
out.println("Exception: " + ex.getMessage());
当我给出纬度和经度的特定坐标时,我得到了我的json,但是当我试图从js获取坐标时它不起作用。我认为错误的是我从js解析经度和纬度的方式。我搜索解析JSON但我不能这样做。你能救我吗?
答案 0 :(得分:1)
您必须在网址上添加GET请求的参数,如下所示:
url: 'ServeltConnection?latitude="+pos.lat+"&longitude="+pos.lng+"'
同时忘记删除'data'
参数