Java 它不会从json返回结果
这是jsp代码当我提交代码时,它将调用ajax函数的url并执行该函数,但当返回代码时,它将调用其他url 如果我从jsp调用ajax,它将到达那个特定的url,然后执行它,它将进入另一个url而不返回结果Java 它不会从json返回结果,java,javascript,json,jsp,servlets,Java,Javascript,Json,Jsp,Servlets,这是jsp代码当我提交代码时,它将调用ajax函数的url并执行该函数,但当返回代码时,它将调用其他url 如果我从jsp调用ajax,它将到达那个特定的url,然后执行它,它将进入另一个url而不返回结果 <form name="frm" action="createnewcatgoryBean.jsp" onsubmit="return validatenewcat()" method="post"> <table style="padding: 5px 0px 0
<form name="frm" action="createnewcatgoryBean.jsp" onsubmit="return validatenewcat()" method="post">
<table style="padding: 5px 0px 0px 8px;">
<tr>
<th colspan="2">
<div style="width: width:271px; color:red;" id="validate"></div>
</th>
</tr>
<tr>
<th>Category Name<span>:</span>
</th>
<td>
<input id="cat" onblur="return validatenewcat()" type="text" name="category">
</td>
</tr>
<tr>
<th>Quotations form<span>:</span>
</th>
<td>
<input type="checkbox" name="quotations">
</td>
</tr>
<tr>
<th>Agreement form<span>:</span>
</th>
<td>
<input type="checkbox" name="agreement">
</td>
</tr>
<tr>
<th>Payment form<span>:</span>
</th>
<td>
<input type="checkbox" name="payment">
</td>
</tr>
<tr>
<th>ETI<span>:</span>
</th>
<td>
<input type="checkbox" name="eti">
</td>
</tr>
<tr>
<td colspan="2" style="float:right; padding-top:15px">
<input type="submit" value="Submit" style="width: 60px;">
</td>
</tr>
</table>
</form>
这是我的java代码
public Map<String, String> catuniqecheck(String id) {
Connection c = null;
PreparedStatement ps1 = null;
ResultSet rs1 = null;
String sql=null;
try{
c = JDBCHelper.getConnection();
if(c!=null)
{
Map<String, String> map = new HashMap<String, String>();
sql="select * from catgory where catgoryname=?";
ps1=c.prepareStatement(sql);
ps1.setString(1, id);
ps1.execute();
rs1=ps1.getResultSet();
if(rs1.next())
{
System.out.println("insdide of the catuniqecheck");
map.put("catgoryname",rs1.getString("catgoryname"));
}
return map;
}
else
{
System.out.println("DB connection Established");
return null ;
}
}
catch (Exception e) {
// TODO: handle exception
return null ;
}
finally{
JDBCHelper.close(rs1);
JDBCHelper.close(ps1);
JDBCHelper.close(c);
}
}
公共地图catuniqecheck(字符串id){
连接c=null;
PreparedStatement ps1=null;
结果集rs1=null;
字符串sql=null;
试一试{
c=jdbchalper.getConnection();
如果(c!=null)
{
Map Map=newhashmap();
sql=“从catgory中选择*,其中catgoryname=?”;
ps1=c.prepareStatement(sql);
ps1.设置管柱(1,id);
ps1.execute();
rs1=ps1.getResultSet();
if(rs1.next())
{
System.out.println(“catuniqecheck的输入”);
map.put(“catgoryname”,rs1.getString(“catgoryname”);
}
返回图;
}
其他的
{
System.out.println(“数据库连接已建立”);
返回null;
}
}
捕获(例外e){
//TODO:处理异常
返回null;
}
最后{
jdbchalper.close(rs1);
JDBCHelper.close(ps1);
jdbchalper.close(c);
}
}
这是我的servlet代码
Map<String, String> result =p1.catuniqecheck(id);
if(result!=null)
{
System.out.println("inside success");
JSONObject json = new JSONObject();
json.accumulateAll(result);
System.out.println("inside json"+json.toString());
response.setContentType("application/json");
response.getWriter().write(json.toString());
}
Map结果=p1.catuniqecheck(id);
如果(结果!=null)
{
System.out.println(“内部成功”);
JSONObject json=新的JSONObject();
json.acgregateAll(结果);
System.out.println(“内部json”+json.toString());
setContentType(“应用程序/json”);
response.getWriter().write(json.toString());
}
尝试使用obj=JSON.parse(“[”+temp+“])
然后是第一个响应长度
警报(obj[0].长度)
警报(obj[0])代码>
bcoz有时会把自己放在方括号内,比如[{…}]你的第一句话毫无意义。请重新措辞。var temp=xmlhttp.responceText代码>应该是var temp=xmlhttp.responseText代码>(带s)。这是输入到另一个url而不将数据返回到javascript plz帮助me@ranjithvkit如果它执行else
块,则不会返回false-从AJAX调用的回调函数返回false,但这是一个完全独立的函数,在稍后执行,与其他任何事情都没有关系。您希望validatenewcat()
函数的最后一行是returnfalse代码>。验证来自ajax调用的响应后,在if(xmlhttp.status==200){}内提交表单
Map<String, String> result =p1.catuniqecheck(id);
if(result!=null)
{
System.out.println("inside success");
JSONObject json = new JSONObject();
json.accumulateAll(result);
System.out.println("inside json"+json.toString());
response.setContentType("application/json");
response.getWriter().write(json.toString());
}