Java 它不会从json返回结果

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

这是jsp代码当我提交代码时,它将调用ajax函数的url并执行该函数,但当返回代码时,它将调用其他url 如果我从jsp调用ajax,它将到达那个特定的url,然后执行它,它将进入另一个url而不返回结果

<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());
                }