jQuery.ajax(options)請求
http://s.click.taobao.com/t_8?e=7HZ5x%2BOzdswsVvyc5Jts79Au1Q%3D%3D&p=mm_24156262_0_0
jQuery 底層 AJAX 實現。簡單易用的高層實現見 $.get, $.post 等。
$.ajax() 返回其建立的 XMLHttpRequest 對象。大多數情況下你無需直接操作該對象,但特殊情況下可用於手動終止請求。
$.ajax() 只有一個參數:參數 key/value 對象,包含各配置及回呼函數資訊。詳細參數選項見下。
傳回值:XMLHttpRequest
參 數:是可以選的
選 項:async (Boolean) : (預設: true) 預設設定下,所有請求均為非同步請求。如果需要發送同步請求,請將此選項設定為 false。
注意,同步請求將鎖住瀏覽器,使用者其它操作必須等待請求完成才可以執行。
beforeSend (Function) : 發送請求前可修改 XMLHttpRequest 對象的函數,如添加自訂 HTTP 頭。XMLHttpRequest 對象是唯一的參數。 Ajax 事件.
cache (Boolean) : (預設: true,dataType為script時預設為false),設定為 false 將不會從瀏覽器緩衝中載入請求資訊。
complete (Function) : 請求完成後回呼函數 (請求成功或失敗資訊)。
contentType (String) : (預設: "application/x-www-form-urlencoded") 發送資訊至伺服器時內容編碼類別型。預設值適合大多數應用場合。
data (Object,String) : 發送到伺服器的資料。
dataFilter (Function) :給Ajax返回的未經處理資料的進行預先處理的函數。
dataType (String) : 預期伺服器返回的資料類型。
"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文字 HTML 資訊;包含 script 元素。
"script": 返回純文字 JavaScript 代碼。不會自動緩衝結果。除非設定了"cache"參數
"json": 返回 JSON 資料 。
"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回呼函數。
"text": 返回純文字字串
jQuery 代碼:
載入並執行一個 JS 檔案。
$.ajax({
type: "GET",
url: "test.js",
dataType: "script"
});
儲存資料到伺服器,成功時顯示資訊。$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
裝入一個 HTML 網頁最新版本
$.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});
同步載入資料。發送請求時鎖住瀏覽器。需要鎖定使用者互動操作時使用同步方式。
var html = $.ajax({
url: "some.php",
async: false
}).responseText;
事列:
JQuery代碼:
<script type="text/javascript" language="javascript">
$().ready(function() {
$.ajax({ type: "post", url: "JqueryAddData.ashx", success: function(msg) {
$("#divshow").html(msg);
}
});
$.ajax({ type: "post", url: "JqueryAddData.ashx", data: "name=John&age=32", success: function(msg) {
alert(msg);
}
});
});
</script>
JqueryAddData.ashx (Code)
<%@ WebHandler Language="C#" class="JqueryAddData" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Text;
public class JqueryAddData : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
context.Response.Write(SelectAdd());
string name = HttpContext.Current.Request.Params["name"].ToString();
string age = HttpContext.Current.Request.Params["age"].ToString();
context.Response.Write(InsertDataTable(name, age));
}
public bool IsReusable
{
get
{
return false;
}
}
public string SelectAdd()
{
string sql = "select fileid,[filename] from sysfiles";
string connString = @"Data Source=VANSKY-34F1\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
StringBuilder builder = new StringBuilder();
builder.Append("<table>");
builder.Append("<tr><td>檔案名稱</td><td>路徑</td></tr>");
using (SqlConnection connection = new SqlConnection(connString))
{
connection.Open();
SqlCommand command = new SqlCommand(sql, connection);
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
builder.Append("<tr><td>" + reader[1].ToString() + "</td><td></td></tr>");
}
connection.Close();
builder.Append("</table>");
return builder.ToString();
}
}
public string InsertDataTable(string name, string age)
{
string sql = "insert into DataTable values(@Name,@Age)";
string connString = @"Data Source=VANSKY-34F1\SQLEXPRESS;Initial Catalog=DBTest;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connString))
{
connection.Open();
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@Name", name);
command.Parameters.AddWithValue("@Age", age);
int reader = command.ExecuteNonQuery();
if (reader > 0)
{
return "成功!";
}
else
{
return "失敗!";
}
}
}
}http://s.click.taobao.com/t_8?e=7HZ5x%2BOzdswsVvyc5Jts79Au1Q%3D%3D&p=mm_24156262_0_0