我正在尝试将值从数据库传递到 js.但是我收到升级错误?



我在数据库中得到了我的纬度和液化天然气值,并试图通过单击带有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;

最新更新