在thinkphp中可以很简单的调用ajax,下面是一个例子:
在前端的javascript中的代码:
<script>
function load_name(str) {
var name = ''
var xmlhttp;
console.log(str);
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
name = document.getElementById("myDiv").innerHTML;
document.getElementById("std_name").value=name;
}
}
xmlhttp.open("GET","search_student_name?q="+str,true);
xmlhttp.send();
}
</script>
重点是4行代码:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
将php中读出来的数据放到id为myDiv的框中。
name = document.getElementById("myDiv").innerHTML;
将id为myDiv的框中的文字数据赋给name。
document.getElementById("std_name").value=name;
向id为stu_name的框中赋值name。
xmlhttp.open("GET","search_student_name?q="+str,true);
xmlhttp.send();
调用search_student_name方法并用post的方法传送值str(其中str的获取方法如下):
<input name="student_account" id="student_account" class="text" onkeyup="load_name(this.value)">
在鼠标点到上面的时候触发函数,并传值,这个值就是前面的str。
在thinkphp中select()和find()方法查询数据的区别是:
1.select查询返回的是一个二维数轴data[0][′name′];find查询返回的是一个一维数轴data[0]['name'];find查询返回的是一个一维数轴data[0][′name′];find查询返回的是一个一维数轴data[‘name’].
2.select可用用于多条数据的查询,而find只能查找一条数据。
3.注意用AdminStudent的方法查询出来的数据也是二维的哦。