當前位置:首頁 » 數據倉庫 » ajax直接獲取資料庫資料庫資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ajax直接獲取資料庫資料庫資料庫

發布時間: 2022-05-12 01:06:50

① ajax如何獲取到資料庫裡面的東西,然後用select option獲取到

主要是ajax請求的php頁面,php頁面操作資料庫獲取數據,並把獲取的數據返回到js中,js在進行拼接數據,用js替換掉select-option內容

② 如何使用ajax讀取資料庫中的數據

簡單的方法不知道可有,限於實力,我想出的方法大概是:
1、做個觸發器,把改變的表的名,行等寫入一個固定的表
2、在ashx中隔段時間就訪問這個表,讀取新增信息,並根據獲取到的信息,檢索改變的表,行等,顯示。打上標記,即該改變的信息已被讀取
(這個響應時間上不好,而且還影響效率)
第二個就是在程序中增刪改後,就告知「某方法」說:數據改變了,快去讀,表是XX

③ ajax獲取資料庫數據實現級聯菜單

要顯示你所說的級聯菜單,最好用樹型結構,你可以使用jquery的插件來實現,推薦使用zTree這個插件。

至於要獲取用戶最終選定的值,那也簡單,在做資料庫查詢的時候,除了查詢出菜單文本,同時將id號也一起查詢出來,並綁定到樹上,用戶點擊時返回id號就可以了。

④ ajax調用資料庫

大致是兩個步驟:客戶端觸發讀取數據請求,伺服器端接收請求查詢資料庫並返回結果。


1、客戶端請求

假設從頁面的下拉列表中選擇一個客戶,當用戶在下拉列表中選擇某個客戶時,會執行名為"showCustomer()"的函數。該函數由"onchange"事件觸發:

functionshowCustomer(str)
{
varxmlhttp;
if(str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if(window.XMLHttpRequest)
{//codeforIE7+,Firefox,Chrome,Opera,Safari
xmlhttp=newXMLHttpRequest();
}
else
{//codeforIE6,IE5
xmlhttp=newActiveXObject("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();
}

2、伺服器端響應,asp示例:

<%
response.expires=-1
sql="SELECT*FROMCUSTOMERSWHERECUSTOMERID="
sql=sql&"'"&request.querystring("q")&"'"

setconn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
setrs=Server.CreateObject("ADODB.recordset")
rs.Opensql,conn

response.write("<table>")
dountilrs.EOF
foreachxinrs.Fields
response.write("<tr><td><b>"&x.name&"</b></td>")
response.write("<td>"&x.value&"</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
%>

⑤ ajax怎麼定時讀取資料庫中的信息

function showLogs()
{
$("#table2").empty(); //這是清空原來的數據
$.ajax({

type:"post",
url:"<%=request.getContextPath()%>/logs/queryLogsInfo.action",
dataType:"json",
success:function(data)
{
for ( var i = 0; i < data.length; i++)
{
$("#table2").append("<tr style='line-height:25px;'>"
+"<td width='5%'>"+data[i].id+"</td>"
+"<td width='5%'>"+data[i].receive+"</td>"
+"<td width='8%'>"+data[i].data+"</td>"
+"<td width='10%'>"+data[i].dataLength+"</td>"
+"</tr>");
}
}
})
}
var t = setInterval("showLogs()", 1000); //隔1秒就查詢一次數據

⑥ 關於Ajax如何連接資料庫

Ajax連接資料庫是通過ajax調用後台servlet,然後servlet請求介面實現的。
比如有頁面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獲取結果就可以處理了。

⑦ ajax獲取資料庫數據 求助一2級下拉框的級

1、首先在資料庫中獲取第一個下拉框的數據:
<s:select listKey="tsFrom" id="t_tsfrom" cssClass="required"
listValue="tsFrom" cssStyle="width:90" list="tsfrom1"
name="tsFrom" theme="simple" headerKey=""
onchange="getTsFromDescribe(this);" headerValue="--請選擇--" />

後台處理:
@Autowired
private CustomMaManager custommamanager;//註解相當的好用啊,代碼都省了一大截
tsfrom1 = custommamanager.getTsFrom();

Service:
//得到投訴來源
public List<CustomManage> getTsFrom(){
return custommanage.getTsFrom();
}

:
/**得到產品類型**/
public List<CustomManage> getTsFrom(){
return this.find("SELECT distinct new CustomManage(tsFrom,'2') FROM CustomManage C WHERE C.tsFrom IS NOT NULL ORDER BY tsFrom ASC");
}

注意:Oracle在java代碼里取出重復值與SqlServer不一樣,它得使用:

復制代碼代碼如下:
SELECT distinct new CustomManage(tsFrom,'2') FROM CustomManage C WHERE C.tsFrom IS NOT NULL ORDER BY tsFrom ASC

先new實體bean(CustomManage) 然後在實體bean中給相應欄位設置構造方法,不然將會出現後台已經返回了值,但是在前台下拉框中不顯示,下拉框空白的現象。
public CustomManage(String khname,int s){
this.khname=khname;
}
public CustomManage(String cpname,String type){
if("1".equals(type)){
this.cpname=cpname;
}else if("2".equals(type)){
this.tsFrom=cpname;
}else if("3".equals(type)){
this.khname=cpname;
}
}

這里需要在bean的實體類裡面加入相應的構造方法,以此來供去重使用。
至此第一級的數據准備已經差不多了。使用S標簽的list集合來獲取後台傳遞過來的值。
2、第二級下拉菜單的級聯====利用Ajax來獲取數據
在第一級列表的onchange事件中編寫:
//投訴信息來源信息級聯
function getTsFromDescribe(ts_describe){
var tsfrom = $("#t_tsfrom").val();
var tstsFrom = $("#ts_tsFrom").val();
Ext.Ajax.request( {
url : '${ctx}/complaints/complaints!getTsFrom.action',
params : {
tsfrom : tsfrom//通過json形式將前台每次獲取到的值傳遞給後台
},
success : function(response) {
var json = Ext.util.JSON.decode(response.responseText);
if (json.success) {
var data = json.<strong>cmList</strong>;
if ("" == data) {
alert("請選擇投訴類型");
inputForm.t_tsfrom.focus();
$("#ts_tsFrom").empty();//每次需要將上一次的數據進行清空
} else {
$("#ts_tsFrom").empty();
//對獲取到的數據進行迭代
for ( var i = 0; i < data.length; i++) {
var id = data[i];
var name = data[i];
$("#ts_tsFrom").append(
"<option value='" + id + "'>" + name + "</option>");
}
dwr.util.removeAllOptions('tstsFrom');
dwr.util.addOptions('tstsFrom', data);
}
}
}
});
}

後台返回數據:
public void getTsFrom() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
String ts_names = tsfrom;
List<CustomManage> list = complaintsmanager.getTsDescribe(ts_names);
response.setContentType("text/javascript"); // 後台控制的代碼
PrintWriter writer = response.getWriter();
// 將得到的list集合轉為JSON對象傳給前台處理
JSONArray j = JSONArray.fromObject(list);
writer.println("{'success':true,'<strong>cmList</strong>':" + j.toString() + "}");
}

到此一個從資料庫里動態獲取值,並且實現二級菜單級聯的功能就做的差不多了。發表出來希望對你對我都有好處哈。
這里加註一點就是在修改的時候下拉框的值不會保存,就是上一次點擊提交的時候保存在資料庫里的值無法填充到下拉框。
處理辦法:
var op1 = document.getElementById("op1").value;
if(op1!=null){
$("#cp_validity").val(op1); //將取出來的值塞到下拉框中。一個蘿卜一個坑
}
<input type="hidden" id="op1" value="${compDisposal.validity}">//使用表達式將存在資料庫里的值取出來,放在隱藏域裡面

⑧ 可以通過JQuery或者AJAX讀取access資料庫么

可以,這並不復雜
舉例:
客戶端js發起請求:

$.ajax({
type: "POST", //發送方式可以是Post/Get
url: "some.php", //請求的後台處理頁面地址,Get方式下可以直接包含參數xxx.php?a=xx&b=yy
data: "name=John&location=Boston", //傳遞參數
success: function(msg){ //成功調用後返回msg對象並執行success回調函數
alert( "Data Saved: " + msg );
}
});

some.php處理頁面可以直接返回json對象,xml對象,甚至返回text純文本

⑨ echarts geocoord如何Ajax動態獲取資料庫數據問題

在後台的controller中用Map<String, double[]> geocoordMap=new HashMap<String, double[]>();來存儲地理經緯度數據,例如:
String key="上海";
double[] value=new double[]{121.550544,31.227384};
geocoordMap.put(key, value);
需要標記多少個點,就put幾個(key,value)到geocoordMap裡面,然後將geocoordMap以json格式傳到前台,var geoCoordData=data取值;直接在option裡面寫: geoCoord: geoCoordData, 即可

⑩ Ajax怎麼實現直接進入首頁就從資料庫中獲取數據顯示在首頁上。

思路:提交數據(不要理解為form的提交)--後台獲取提交的數據錄入資料庫--從資料庫查詢數據--將查詢的數據返回--在頁面接收並顯示返回的結果