我在数据库中得到了我的纬度和液化天然气值,并试图通过单击带有id("track"(的按钮将它们发送到我的javascript。 但是下面的代码抛出了一个错误,即在未实现接口 HTMLInputElement 的对象上调用"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
保存一个元素对象。然后,您尝试在请求的数据中发送它,因此 jQuery 尝试序列化它,从而导致问题。
我假设从上下文中您希望获取元素的值,因此请改用它:
var tname = document.getElementsByName("frname").value;