永发信息网

关于Ajax如何连接数据库?

答案:3  悬赏:70  手机版
解决时间 2021-01-03 22:57
  • 提问者网友:别再叽里呱啦
  • 2021-01-03 09:39
那位知道前台页面用Ajax如何连接后台数据库,如何实现对数据库的增、删、改?最好有代码实力代码!
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-01-07 03:12
Ajax连接数据库是通过ajax调用后台servlet,然后servlet请求dao接口实现的。
比如有页面ajax实现方法:
function showCustomer(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}

后台servlet写法:
response.expires=-1
//定义sql 进行结果检索
sql="SELECt * FROM CUSTOMERS WHERe CUSTOMERID="
sql=sql & "'" & request.querystring("q") & "'"
//连接数据库
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
set rs=Server.CreateObject("ADODB.recordset")
//打开数据库链接
rs.Open sql,conn
response.write("<table>")
do until rs.EOF
for each x in rs.Fields
response.write("<tr><td><b>" & x.name & "</b></td>")
response.write("<td>" & x.value & "</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
以上就把结果查询出来了,并且放在response中,页面ajax获取结果就可以处理了。
全部回答
  • 1楼网友:鱼忧
  • 2021-01-07 04:26
QQ:756432284,加我,代码传给你(asp.net(c#))
  • 2楼网友:拜訪者
  • 2021-01-07 03:21
既然是用AJAX,当然AJAX是调用服务端的方法访问数据库再对数据库进行增、删、改。首先你要理解WEB编程的原理,当一个网页打开后你和服务端的连接是己经断了的,服务端保存不了你当前的状态。不象CS编程。 AJAX是客户端的,你肯定不能直接在前台javascript中访问服务端的数据库。 用AJAX第一步,你必需要写好服务端的一个方法,如写一个删除的方法doDelObject(string id){...}你在客户端就调用这个方法。参数是你要删除数据的ID,如:doDelObject(ID001),然后服务端删除完毕后就会返回这个方法的值给你。删除的具体方法那就和AJAX无关了。  另外,做AJAX有好多框架选择,建议你用jquery,如果是.net2003的话有ajaxpro,2005的话有AjaxControlToolkit等。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯