快崩潰了 setContent(contents) 中alert(contents)有值,而size卻是undefined,怎么回事呢??
<script type="text/javascript">
var xmlHttp;
function getMoreContents() {
//1.首先要獲得用戶(hù)的輸入
var content = document.getElementById("keyword");
if (content.value == "") {
return;
}
/* alert(content.value); */
/* 2.要把用戶(hù)輸入的內(nèi)容發(fā)送給服務(wù)器?
需要采用ajax異步發(fā)送數(shù)據(jù)所以我們要使用一個(gè)叫xmlHttp對(duì)象
*/
xmlHttp = createXMLHttp();
//alert(xmlHttp);
//要給服務(wù)器發(fā)送數(shù)據(jù),需要一個(gè)地址
var url = "search?keyword=" + escape(content.value);
//請(qǐng)求方式;請(qǐng)求地址;true表示javascript腳本會(huì)在send()方法之后繼續(xù)執(zhí)行,
//而不會(huì)等待來(lái)自服務(wù)器的響應(yīng)
xmlHttp.open("GET", url, true);
//xmlHttp綁定回調(diào)方法會(huì)在xmlHttp狀態(tài)改變時(shí)被調(diào)用
//xmlHttp的狀態(tài)0-4種,我們只關(guān)心4這種狀態(tài)(4表示完成),因?yàn)楫?dāng)數(shù)據(jù)
//傳輸?shù)倪^(guò)程完成之后,在調(diào)用回調(diào)方法才有意義。
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
//獲得xmlHttp對(duì)象
function createXMLHttp() {
//對(duì)于大多數(shù)瀏覽器都是用
var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
if (!xmlHttp) {
xmlHttp = new ActiveXObject("Microsoft2.XMLHTTP");
}
}
return xmlHttp;
}
//回調(diào)函數(shù)
function callback() {
//4代表完成
if (xmlHttp.readyState == 4) {
//200:服務(wù)器響應(yīng)成功
if (xmlHttp.status == 200) {
//交互成功,獲得相應(yīng)數(shù)據(jù),是文本格式
var result = xmlHttp.responseText;
//獲得解析的數(shù)據(jù)
var json = eval("(" + result + ")");
//獲得數(shù)據(jù)之后,就可以動(dòng)態(tài)的顯示這些數(shù)據(jù)了,把這些數(shù)據(jù)展示到
//輸入框下面
alert(json);
setContent(json);
}
}
}
//設(shè)置關(guān)聯(lián)數(shù)據(jù)的展示,參數(shù)代表的服務(wù)器傳遞過(guò)來(lái)關(guān)聯(lián)數(shù)據(jù)
function setContent(contents) {
alert(contents);
//首先獲得關(guān)聯(lián)數(shù)據(jù)的長(zhǎng)度,以此來(lái)獲取生成多少<tr>
var size = contents.lenght;
alert(size);
//設(shè)置內(nèi)容
for (var i = 0; i < size; i++) {
//代表的是json格式數(shù)據(jù)的第i個(gè)數(shù)據(jù)
//????????
var nextNode = contents[i];
//循環(huán)一個(gè)tr
var tr = document.createElement("tr");
//循環(huán)一個(gè)td
var td = document.createElement("td");
//設(shè)置td的樣式
td.setAttribute("border", "0");
td.setAttribute("bgcolor", "#FFFAFA");
//當(dāng)鼠標(biāo)滑過(guò)時(shí)的樣式
td.onmouseover = function() {
this.className = 'mouseOver';
};
//當(dāng)鼠標(biāo)出去時(shí)的樣式
td.onmouseout = function() {
this.className = 'mouseOut';
};
//當(dāng)鼠標(biāo)點(diǎn)擊下拉框中的相關(guān)聯(lián)的信息時(shí),關(guān)聯(lián)信息自動(dòng)設(shè)置到搜索框中;
td.onclick = function() {
}
//把文本放進(jìn)td;把td放進(jìn)tr;把tr放進(jìn)tbody
var text = document.createTextNode(nextNode);
td.append(text);
tr.append(td);
document.getElementById("content_tbody").appendChild(tr);
}
}
</script>
</head>
<body>
<div id="mydiv">
<input type="text" size="50" id="keyword" onkeyup="getMoreContents()">
<input type="button" value="百度一下" width="50px">
<div id="popDiv">
<table id="content_table" bgcolor="#FFFAFA" border="0"
cellspacing="0" cellpadding="0">
<tbody id="content_tbody">
</tbody>
</table>
</div>
</div>
</body>
</html>
2017-11-02
var size = contents.lenght;??? 你的length寫(xiě)錯(cuò)了