我正在用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
这样的数据
所以他可以拆分数据......
我可以用什么库来解决我的问题?
答案 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
}
});