JSON JS JAVA的问题

http://img.mukewang.com/58be677b0001fd2406000360.jpgdao层

http://img.mukewang.com/58be677b0001fbbb09820271.jpgservice层

http://img.mukewang.com/58be677c0001db5408650275.jpgjsp页面

下面是JS代码。

<script type="text/javascript">

var xmlHttp;

//获得用户输入内容的关联信息的函数

function getMoreContents(){

//首先要获得用户的输入

var content = document.getElementById("keyword");

if(content.value == ""){

clearContent();

return;

}

//给服务器发送用户输入的内容,采用AJAX异步发送数据,使用一个对象,叫做xmlHttp对象

xmlHttp = createXMLHttp();

//要给服务器发送数据

var url = "SearchServlet?keyword="+escape(content.value);

//true表示js脚本会在send()方法之后继续执行,而不会等待来自服务器的响应

xmlHttp.open("GET",url,true);

//xmlHttp绑定回调方法,这个回调方法会在xmlHttp状态改变的时候被调用,xmlHttp有4中状态,0到4,4表示完成

xmlHttp.onreadystatechange = callback;

xmlHttp.send(null);

}

//获得xmlHttp对象

function createXMLHttp(){

//对于大多数的浏览器都适用的

var xmlHttp;

if(window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest();

}

//要考虑浏览器的兼容性

if(window.ActiveXObject){

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

if(!xmlHttp){

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

}

}

return xmlHttp;

}

//回调函数

function callback(){

if(xmlHttp.readyState==4){//4表示完成

if(xmlHttp.status==200){//200代表服务器响应成功,404代表资源未找到,500代表服务器内部错误

//交互成功,获得相应的数据,是文本格式

var result = xmlHttp.responseText;

//解析获得数据

var json = eval("("+result+")");

for(var i=0;i<json.length;i++){

setContent(json[i].name);

//document.write(json[i].name);

}

//获得数据之后,就可以动态的显示数据,把这些数据展示到输入框下面

document.write(json[i].name);

}

}

}

//设置关联数据的展示,参数代表的是服务器传递过来的关联数据

function setContent(contents){

clearContent();

//首先获得关联数据的长度,以此来确定生成多少<tr></tr>

setLocation();

var size = contents.length;

//设置内容

for(var i=0;i<size;i++){

//var nextNode = contents[i];//代表的是json格式数据的第i个元素

var tr = document.createElement("tr");

var td = document.createElement("td");

td.setAttribute("border", "0");

td.setAttribute("bgcolor", "#fffafa");

td.onmouseover = function(){

this.className = 'mouseOver';

};

td.onmouseout = function(){

this.className = 'mouseOut';

};

td.onclick = function(){

//这个方法实现的是当用鼠标点击一个关联数据时,关联数据自动设置为输入框的数据

};

//document.write(size);

var text = document.createTextNode(contents);

td.appendChild(text);

tr.appendChild(td);

document.getElementById("content_table_body").appendChild(tr);

}

}

//清空之前的数据

function clearContent(){

var contentTableBody = document.getElementById("content_table_body");

var size = contentTableBody.childNodes.length;

for(var i=size-1;i>=0;i--){

contentTableBody.removeChild(contentTableBody.childNodes[i]);

}

document.getElementById("popDiv").style.border="none";

}

//当输入框失去焦点的时候,关联信息清空

function keywordBlur(){

clearContent();

}

//设置显示关联信息的位置

function setLocation(){

//关联信息的显示位置要和输入框一致

var content = document.getElementById("keyword");

var width = content.offsetWidth;//输入框的宽度

var left = content["offsetLeft"];//到左边框的距离

var top = content["offsetTop"]+content.offsetHeight;//到顶部的距离

//获得显示数据的div

var popDiv = document.getElementById("popDiv");

popDiv.style.border = "black 1px solid";

popDiv.style.left = left+"px";

popDiv.style.top = top+"px";

popDiv.style.width = width+"px";

document.getElementById("content_table").style.width = width+"px";

}

</script>



大家看下,我想要把数据库里的name显示在搜索框的下面,但是搜索出来的有一样的,JSON的格式感觉没怎么对。

qq_唐子弦_0
浏览 1256回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP