ajax源碼實例
Ⅰ jQuery Ajax,不執行,為什麼呢。
可能是你ajax里方法}後忘記加逗號的原因,,,給你一段可以執行的代碼,你可以拷到你的項目中試試!如果不行可以到http://download.csdn.net/download/siyupy_888/5552669下載jquery +ajax的源碼實例.
<script type="text/javascript" language="javascript" src="./js/jquery-1.7.2.min.js" ></script>
<script type="text/javascript">
function ajaxSend(){
var username=$("#username").val(); //獲得文本框中的值
var userpass=$("#userpass").val();
$.ajax({
type:"post",// 指定是post還是get
data:"username="+username+"&userpass="+userpass,//發送到伺服器的數據
url:"loginServlet",//發送請求的地址
dataType:"json",
error:function(err){//如果確定能正確運行,可不寫
alert("錯誤");
},
success:ajaxSendCallBack
})
}
function ajaxSendCallBack(data){
//如果是jsonArray這樣返回
//alert(data[0].name);
//返回json結果
alert(data.name);
alert(data.pass);
}
</script>
Ⅱ ajax asp.net智能匹配完成搜索完整源碼
ASP.net+AJAX智能匹配檢索(自動完成)
實例說明
使用谷歌搜索引擎,用戶只要輸入部分關鍵字,就能夠顯示相關搜索提示信息列表。那麼在這里我們通過ASP.NET來實現這樣的功能,程序運行結果如圖18.2所示。
圖18.2 智能匹配檢索
技術要點
本實例的核心技術是通過ASP.NET AJAX Control Toolkit中的AutoCompleteExtender控制項實現。
AutoCompleteExtender控制項實現自動輸入建議的功能,通過調用WebService或本頁面對應的方法名來獲取提示數據,供用戶能達到自動選擇的功能。AutoCompleteExtender控制項的主要屬性及說明如表18.2所示。
表18.2 AutoCompleteExtender控制項的主要屬性及說明
屬性
說明
TargetControlID
指定將被輔助完成自動輸入的控制項ID,這里的控制項只能是TextBox
ServicePath
指出提供服務的WEB服務路徑,若不指出則ServiceMethod表示本頁面對應的方法名
ServiceMethod
指出提供服務的方法名,例如public string[] Method(string prefixText, int count),其中參數prefixText是用戶輸入的關鍵字;參數count是所需要獲取提示數據的數量;兩個參數都會自動傳給WebService的ServiceMethod方法),返回值是用戶所獲得提示數據的來源數組。
MinimumPrefixLength
指出開始提供提示服務時,TextBox控制項應有的最小字元數,默認值為3
CompletionInterval
從伺服器讀取數據的時間間隔,默認為1000,單位:毫秒。
EnableCaching
是否在客戶端緩存數據,默認為true
CompletionSetCount
顯示的條數,默認值為10
實現過程
(1)新建一個AJAX網站,將其命名為Ex08_02,默認主頁為Default.aspx。
(2)在Default.aspx頁中主要添加一個ScriptManager控制項、一個AutoCompleteExtender控制項和一個TextBox控制項,其中ScriptManager控制項主要用於管理Web頁面中的AJAX控制項,AutoCompleteExtender控制項實現自動完成功能,TextBox控制項接收輸入檢索關鍵字。
(3)創建一個Web服務,將其命名為KeyFind.asmx,該服務主要完成智能檢索功能。
(4)在KeyFind.asmx Web服務的KeyFind.cs文件下實現代碼如下:
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
//引入空間
using System.Data;
using System.Data.OleDb;
using System.Configuration;
/// <summary>
/// KeyFind 的摘要說明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//添加服務腳本(必須添,否則程序不能正常運行)
[System.Web.Script.Services.ScriptService]
public class KeyFind : System.Web.Services.WebService
{
public KeyFind()
{
//如果使用設計的組件,請取消注釋以下行
//InitializeComponent();
}
//定義數組保存獲取的內容
private string[] autoCompleteWordList = null;
//兩個參數「prefixText」表示用戶輸入的前綴,count表示返回的個數
[WebMethod]
public String[] GetCompleteDepart(string prefixText, int count)
{
///檢測參數是否為空
if (string.IsNullOrEmpty(prefixText) == true || count <= 0) return null;
// 如果數組為空
if (autoCompleteWordList == null)
{
//讀取資料庫的內容
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Ex18_02.mdb"));
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select keyName from keyInfo where keyName like'" + prefixText + "%' order by keyName", conn);
DataSet ds = new DataSet();
da.Fill(ds);
//讀取內容文件的數據到臨時數組
string[] temp = new string[ds.Tables[0].Rows.Count];
int i = 0;
foreach (DataRow dr in ds.Tables[0].Rows)
{
temp[i] = dr["keyName"].ToString();
i++;
}
Array.Sort(temp, new CaseInsensitiveComparer());
//將臨時數組的內容賦給返回數組
autoCompleteWordList = temp;
if (conn.State == ConnectionState.Open)
conn.Close();
}
//定位二叉樹搜索的起點
int index = Array.BinarySearch(autoCompleteWordList, prefixText, new CaseInsensitiveComparer());
if (index < 0)
{ //修正起點
index = ~index;
}
//搜索符合條件的數據
int matchCount = 0;
for (matchCount = 0; matchCount < count && matchCount + index < autoCompleteWordList.Length; matchCount++)
{ ///查看開頭字元串相同的項
if (autoCompleteWordList[index + matchCount].StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) == false)
{
break;
}
}
//處理搜索結果
string[] matchResultList = new string[matchCount];
if (matchCount > 0)
{ //復制搜索結果
Array.Copy(autoCompleteWordList, index, matchResultList, 0, matchCount);
}
return matchResultList;
}
}
(5)回到Default.aspx頁的源視圖,設置其AutoCompleteExtender控制項屬性值,代碼如下:
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1"
ServicePath="KeyFind.asmx" CompletionSetCount="10" MinimumPrefixLength="1" ServiceMethod="GetCompleteDepart">
</cc1:AutoCompleteExtender>
Ⅲ Ajax疊加(Ajax返回數據用Ajax發出)示例代碼
最近在做人事管理系統的一個簽到功能,首先是把部門當做參數,把參數用Ajax發送到資料庫進行查詢,然後以表格形式動態生成員工信息到返回頁面的Div里,表格最後的一列是簽到按鈕,這時我想用JQuery繼續獲取被點擊的「簽到」按鈕,然後用Ajax將數據發送到資料庫簽到表,更新簽到表,於是我就把每個簽到按鈕的id屬性設置成第一次Ajax返回的每個員工信息的工號,再次用JQuery獲取,怎麼獲取呢?想到了標簽加事件選擇器,於是寫了下面代碼:
復制代碼
代碼如下:
$(function(){
$("tr
input:button").click(){
$.ajax({
type:
"POST",
url:
"page_helper.ashx",
data:
"name=K&pid"
+
$(this).attr("id"),
success:
function
(html)
{
$("#ReturnHTML").html(html);
},
error:
function
()
{
alert("伺服器繁忙,請稍後再試!");
}
});
}
});
可是後來點擊卻發現沒有獲取到點擊事件,點擊按鈕根本就沒有反應,當我用瀏覽器查看返回的源碼的時候,發現原來Ajax返回的HTML代碼根本就沒有被添加到頁面中,這回怎麼辦呢?後來去網路里檢索了半天,都說Ajax返回的數據無法用瀏覽器查看到源碼,因為是非同步的,檢索了一天,頭又大又疼,於是就晚上了,每次遇到大的問題,就趕緊睡覺,在夢中想實現方法,這樣一方面可以休息,另一方面也可以解決問題,一般的時候第二天問題都會有答案,也都能實現。
第二天早晨醒來,思路還是沒有,我想這次應該是大問題了,是不是我想要實現的不可能實現呢?網路里幾乎沒有用兩次Ajax請求的,無奈之下在QQ空間發布了懸賞求助,懸賞是宴請三天三夜,後來終於我偉大的高中同學給了我幫助,當然不是因為懸賞才幫助我的,哈哈哈。
高中同學是這么說的,Jquery中有個live方法,可以獲取動態生成的HTML代碼元素,後來我就把live方法敲了進去,看了有三個參數event,data,function;於是查看了Jquery的幫助文檔。
event:必需,規定附加到元素的一個或多個事件,由空格分隔多個事件。必須是有效的事件。
data:可選,規定傳遞到該函數的額外數據。
function:必需,規定當前事件發生時運行的函數。
這時的我這時大旱逢甘霖啊,於是寫下下面代碼:
復制代碼
代碼如下:
$(function(){
$("tr
input:button").live("click",
function
()
{
$.ajax({
type:
"POST",
url:
"page_helper.ashx",
data:
"name=JS&pid="
+
$(this).attr("id")
+
jsparam(),
success:
function
(html)
{
alert(html);
},
error:
function
()
{
alert("伺服器繁忙,請稍後再試!");
});
}
});
這次奇跡出現了,Ajax返回的按鈕單擊事件被獲取到了,下面的Ajax非同步過程也調用成功了,那種喜悅不能言表。
如果我放棄了這次求助,以後遇到同樣的問題,我可能換一種思路,會用a標簽代替按鈕,跳轉到另一界面,操作起來太麻煩了,哪個用戶見到這樣的效果都會惡心至極,同學這樣的幫助豈三天三夜的宴請足矣?
Ⅳ 求一簡單的ajax php源碼
ajax.html
<script src="jquery.js"></script> <!--自己下jquery-->
<script>
function ajax(){
$.post("ajax.php",{act:"testAjax",testWord:"hello Ajax!"},function(dat){
$("#ajaxTest").html(dat);
});
}
</script>
<imput type=button value="Ajax Test" onclick="ajax();">
<div id="ajaxTest"></div>
ajax.php
<?php
if($_REQUEST['act']=="testAjax"){
print_r($_REQUEST);
}
?>
試試看吧, 直接寫的沒測試對不對,思路是這樣的。
用jquery框架 跨瀏覽器容易,手寫純ajax就算了吧,
Ⅳ java後台獲取網頁ajax數據和返回數據簡單源碼
1新建一個servlet xml中相應配置(一般自動)
2創建service方法
3接受參數,做操作,返回數據
比如頁面發送ajax請求到SomeServlet
$.post("SomeServlet的請求路徑",{param:"param"},function(data){
//data為返回的數據以json形式
alert(data.id+""+data.name+""+data.age);
},"json");
Servlet
publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriterout=response.getWriter();
Stringparam=request.getParameter("param");//獲取參數
//你的操作
//返回數據
Stringjson="{"id":1,"name":"張三","age":18}";
out.print(json);
}
Ⅵ 求ajax+xml讀寫例子
給你一個ajax讀取xml的例子 http://www.wxwdesign.cn/article/134.htm
至於那種讀寫、修改的程序,建議到源碼站去下載,現在網上有一些ajax的留言本。
Ⅶ 有沒有關於pc端調用ajax介面完整的源代碼,用jquery的$簡寫的ajax源代碼
發一段我在寫的。
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
jQuery(document).ready(function ($) {
var div_num = $("div").length;
alert(div_num);
})
</script>
加到網站底部,如果你的頁面有div標簽,並彈框一個數字,就說明代碼生效了。如圖
Ⅷ Ajax+JS彈出提示 實例
把請求資料庫的弄成一個函數,然後用setInterval定時執行即可。大致如下:
function getData(){
$.ajax({
url:..
...
})
}
var id=setInterval("getData()",1000);//每隔1s請求,第二個參數以毫秒計時,停止事件可以用clearInterval(id)
Ⅸ 如何用jquery和ajax提交數據 請給出源代碼說明
給你寫一個jquery操作ajax到.net上的ashx文件的例子,如果你是php,則相應的改動即可.
$(funtion(){
$("#btn").click(funtion(){ //點擊ajax提交事件
$.ajax({ //jquery的ajax方法
type:"get", //ajax提交方式為get,也可以為post,根據你的需求
url:"ajaxtest.ashx?type=1&name=sun", //url為ajax提交的地址,後面跟的是參數,因為採用的是get方式 所以可以直接寫參數,參數可以根據具體的你的程序變動
success:funtion(msg){ //如果ajax操作成功,根據返回值msg做相應的操作
switch (msg) {
case "1":
alert("ajax成功啦:)");
break;
case "0":
alert("ajax返回值為0!");
$("#btn_save").unbind("click");
break;
},
error:funtion(xh){ //如果ajax出錯,根據返回值寫相應的提示代碼
alert(「出錯啦,請聯系系統管理員!」);
}
});
});
});