ajax获取后台json无法执行

lorentc 2019-05-09 12:14:24
我的ajax不执行,不知道出了什么问题,有大神帮忙解决吗

内容是java连接数据库获取数据并以json保存,并作为servlet向前台发送数据

java文件:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Connection ct = null;
java.sql.Statement sm = null;
java.sql.ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver"); //连接mysql数据库
ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/river?serverTimezone=GMT&useUnicode=true&characterEncoding=utf-8","root", "123456");
sm = ct.createStatement();
rs = sm.executeQuery("select *from rivere");

JSONArray jsonData = JSONArray.fromObject(convertList(rs));

response.setHeader("Content-type", "text/html;charset=UTF-8");
response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();
out.print(jsonData);//把json数据传递到前端,记着前端用ajax接收
out.println(jsonData);
rs.close();
ct.close();
}
catch(Exception ex)
{
System.out.print("get data error!");
ex.printStackTrace(); }

}

web.xml配置:

<servlet>
<servlet-name>riverdata</servlet-name>
<servlet-class>riverdata.riverdata</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>riverdata</servlet-name>
<url-pattern>/river</url-pattern>
</servlet-mapping>

ajax的function:

function getJson()
{

$.ajax({
url:"river",
type:"post",
data:{"NS":NS,"EW":EW,"num":num,"depth":depth},
dataType:json,
success: function(jsonData)
{
alert(3);
},
error:function()
{
alert("错误");
}

});

}

请问到底是哪里出错了呢?很头疼,怎么都不执行,url和datatype怎么改都不运行,alert也不弹出来,success和error都不弹。
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongqing.chu 2019-05-09
  • 打赏
  • 举报
回复
第一,datetype:‘json'好像要加单引号。

其他的,给出你报错的内容
stherix 2019-05-09
  • 打赏
  • 举报
回复
你这个不是post请求吗 但是java代码里看上去又是get
  • 打赏
  • 举报
回复
报什么错呢
山水净者 2019-05-09
  • 打赏
  • 举报
回复
ajax无法执行,1必须确定有jquery.js文件, 2post请求不能用doget接受,需要dopost接收
夜丶陌颜 2019-05-09
  • 打赏
  • 举报
回复
你打debugger先理一下是那一块的问题,再解决问题

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧