使用JQuery从帖子中拆分数据

时间:2014-01-16 23:43:26

标签: jquery json jsp

我正在用jQuery做一个帖子

  $( "#input" ).focusin(function() {
    $(document).keyup(function(e){
    if(e.keyCode==13)
    {   
      $.post("other.jsp",{var:var})
         .done(function(data){

       });
    }
}

然后另一个jsp执行查询并返回:

out.println(rsvar.getString("name"));
out.println(rsvar.getString("lastname"));`

我的代码有效...但是数据是在单个字符串中检索的,我希望将rsvar.getString("name")附加到输入中,如值和rsvar.getString("lastname");在其他输入中。

$("#name").val(rsvar.getString(name));
<input id="name" >

一位朋友告诉我,他使用json_encode + php并迭代像data[i].name这样的数据

所以他可以拆分数据......

我可以用什么库来解决我的问题?

2 个答案:

答案 0 :(得分:1)

使用可以执行

之类的快捷方式
<%@ page trimDirectiveWhitespaces="true" %>
out.print(rsvar.getString("name"));
out.print("$$");
out.print(rsvar.getString("lastname"));
在jquery中

        $.ajax({
            type: "POST",
            //dataType: "html",
            url: "other.jsp",
            data: {var:var},
            success: function(data) {
                // on success
               // alert("="+data+"=");
                var arr=data.split("$$");
                alert(arr[0]);
                alert(arr[1]);

            },
            error:function(xhr,status,error) {      
                alert(error);
            }
        });

或者你可以使用

http://json-taglib.sourceforge.net

// JSON-LIB-2.4-jdk15.jar

json-taglib-0.4.1.jar(检查版本)在JSP中打印JSON对象。

new JSONWriter(response.getWriter())
                      .object()
                        .key("fname")
                        .value(rsvar.getString("name"))
                        .key("lname")
                        .value(rsvar.getString("lastname"))
                      .endObject();
                    response.flushBuffer();
在jquery中

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "other1.jsp",
            data: {var:var},
            success: function(data) {
               //console.log(data);
               alert(data['fname']);
               alert(data['lname']);
            },
            error:function(xhr,status,error) {      
                alert(error);
            }
        });

答案 1 :(得分:-2)

如果您要发布JSON而不是字符串,我建议您使用$.ajax函数,以便指定要发送的数据类型。

var data = {var: var};

$.ajax({
    type: "POST",
    dataType: "json",
    url: "other.jsp",
    data: data,
    success: function() {
        // on success
    },
    error: function() {
       // on error
    }
});