我已经在数据库中获取了 lat 和 lng 值,并尝试通过单击带有 id(“track”)的按钮将它们获取到我的 javascript。但以下代码会在未实现 HTMLInputElement 接口(interface)的对象上调用“stepUp”错误。怎么解决这个问题
提前致谢。
创建.js
document.getElementById("track").onclick=function tracking(){
console.log("Tracking");
var tname=document.getElementsByName("frname");
var params ={
trname:tname,
bt:"I"
}
$.get("SC",$.param(params),function(responsetext){
var a=responsetext;
console.log(a);
});
}
服务器连接.java
if(bt1.equals("I")){
String tname=request.getParameter("tname");
String uname=(String)session.getAttribute("uname");
try {
cords =requestingclass.getupdatedlocation(tname,uname);
String lat=cords.get(1);
String lng=cords.get(2);
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(lat);
response.getWriter().write(lng);
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
请求类.java
public static ArrayList<String> getupdatedlocation(String tname, String uname) throws ClassNotFoundException, SQLException {
Connection con = ConnectionUtility.connect();
PreparedStatement ps =con.prepareStatement("select lat,lng from requesttable where requester=? and requested=?");
ps.setString(1, uname);
ps.setString(2, tname);
ArrayList<String> cords=null;
ResultSet rs= ps.executeQuery();
while(rs.next()){
cords=new ArrayList<String>();
cords.add(rs.getString(1));
cords.add(rs.getString(2));
}
return cords;
}
最佳答案
正是这一行导致了问题:
var tname = document.getElementsByName("frname");
tname
包含一个 Element 对象。然后,您尝试将其发送到请求的数据中,因此 jQuery 尝试对其进行序列化,从而导致问题。
我从上下文中推测您想要获取元素的值,因此请使用它:
var tname = document.getElementsByName("frname").value;
关于javascript - 我正在尝试将值从数据库传递到js。但我收到了升压错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59785690/