一,原生態的XMLHttpRequest
代碼如下 |
複製代碼 |
<script language="javascript"> function saveintroduce() { //擷取接受返回資訊層 var introducemsg = document.getElementById("introducemsg"); //擷取表單對象和使用者資訊值 var f = document.introduceedt; var elm1 = encodeURIComponent(f.elm1.value); //接收表單的URL地址 var url = "save.php?id=<?=$_GET["id"]?>"; //需要POST的值,把每個變數都通過&來聯結 var postStr = 'elm1='+ elm1; //執行個體化Ajax //var ajax = InitAjax(); var ajax = false; //開始初始化XMLHttpRequest對象 if(window.XMLHttpRequest) { //Mozilla 瀏覽器 ajax = new XMLHttpRequest(); if (ajax.overrideMimeType) { //設定MiME類別 ajax.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { // IE瀏覽器 try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!ajax) { // 異常,建立對象執行個體失敗 window.alert("不能建立XMLHttpRequest對象執行個體."); return false; } //通過Post方式開啟串連 ajax.open("POST", url, true); //定義傳輸的檔案HTTP頭資訊 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //發送POST資料 ajax.send(postStr); //擷取執行狀態 ajax.onreadystatechange = function() { //如果執行狀態成功,那麼就把返回資訊寫到指定的層裡 if (ajax.readyState == 4 && ajax.status == 200) { introducemsg.innerHTML = ajax.responseText; } } } </script> <form id="introduceedt" name="introduceedt" action="save.php>" method="post"> <input name="elm1" id="elm1" ><input type="button" value="提交表單" onClick="saveintroduce()"><div id="introducemsg"></div></div></td> </form> |
二,jquery ajax.post
1.jQuery $.post() 方法
$.post() 方法通過 HTTP POST 請求從伺服器上請求資料。
執行個體
代碼如下 |
複製代碼 |
$("button").click(function(){ $.post("demo_test_post.asp", { name:"Donald Duck", city:"Duckburg" }, function(data,status){ alert("Data: " + data + " Status: " + status); }); }); |
2、$.ajax的一般格式
代碼如下 |
複製代碼 |
$.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType }); |
二、$.ajax的參數描述
參數描述
url 必需。規定把請求發送到哪個 URL。
data 可選。映射或字串值。規定連同請求發送到伺服器的資料。
success(data, textStatus, jqXHR) 可選。請求成功時執行的回呼函數。
dataType 可選。規定預期的伺服器響應的資料類型。
預設執行智能判斷(xml、json、script 或 html)。