我有一个 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 但我做不到。你能帮我吗?
最佳答案
您必须将 GET 请求的参数放在 url 上,如下所示:
url: 'ServeltConnection?latitude="+pos.lat+"&longitude="+pos.lng+"'
也不要忘记删除'data'
参数
关于javascript - 如何将我的数据从 javascript 传递到 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34656474/