如何将我的数据从javascript传递给servlet

时间:2016-01-07 13:33:36

标签: javascript java json jsp servlets

我有一个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但我不能这样做。你能救我吗?

1 个答案:

答案 0 :(得分:1)

您必须在网址上添加GET请求的参数,如下所示:

url: 'ServeltConnection?latitude="+pos.lat+"&longitude="+pos.lng+"'

同时忘记删除'data'参数