4 回答

TA貢獻1829條經驗 獲得超13個贊
這個要跟同步的概念一起理解,舉個同步的例子
就是當你瀏覽頁面的時候,你點擊一個按鈕或者鏈接,那么這個界面就會向服務器發送請求,此時你眼前的界面就是一片空白,直到請求的數據返回頁面上才有東西顯示。就是一個操作要等前一個做完才可以開始。
而異步則不同,比如一個注冊頁面
你填寫名字,密碼,郵箱之類的信息,界面看上去什么都沒有變化,但是其實你注冊的這個界面已經向服務器發送了一個請求來驗證你的用戶名是否已經存在。就是后臺與界面可以進行數據交互,而界面則可以繼續保持一直跟用戶交互而不受影響。

TA貢獻1794條經驗 獲得超8個贊

TA貢獻1872條經驗 獲得超4個贊
ajxa定義:異步的JavaScript和xml
1、XMLHttpRequst的出現才有了異步處理
2、創建XmlHttpRequest對象
var request=new XMLHttpRequest();
注意:如果要兼容IE6以下瀏覽器則需要編寫如下代碼
var request;
if(window.XMLRequest){
request=new XMLRequestHttpRequest(); //IE7、IE8、360等
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6
}
3、XMLHttpRequest發送請求
(1)open(method,url,async),參數的意義如下
method:GET或者POST請求方法
url:相對地址或者絕對地址
async:true或者false,默認是true,表示異步
(2)send(String)
GET請求無參數,POST請求時一定要有參數
舉例A:
request。open("GET",'getDate',true);
request.send();
舉例B:
request.open("POST","getDate",true)
//默認是"application/x-www-from"-urlencoden"方式提交,如果是提交文件,則需要修改成為multipart/form-data方式提交
request.setRequestHeader("Content-type","application/x-www-from"-urlencoden");
request.send("name=王二&age=25");
4、XMLHttpRequest取得響應
(1)responseText:獲得字符串形式的響應數據
(2)responseXML:獲得xml形式的響應數據
(3)status和statusText:以數字和文本形式返回Http轉態碼
(4)getAllResponseHeader():獲得所以得響應報頭
(5)getResponseHeader():查詢響應中的某個字段的值
(6)readState屬性
"0"請求未初始化,open還未調用
"1":服務器連接已經建立,open已調用
"2":請求已接收,也就是接收到頭信息了
"3":請求處理中,也就是接收到響應主體了
"4":請求已經完成,且響應就緒,響應完成了

TA貢獻1797條經驗 獲得超6個贊
jquery$.ajax()同步與異步區別簡單來說就是:
1、同步執行的話,會等待后臺結果返回,方法才會繼續執行下一句
2、異步的話,方法不等后臺返回就會繼續執行下一句。
舉例說明:
$.ajax()其中有一個參數為
async: false,
false為同步
function checkodd(i) {
var returnvalue;
var options = {
type: 'POST',
url: "test.ashx",
data: { "i": i },
async:false,
success: function (result) {
if (result.code > 0) {
returnvalue = "odd";
}
else {
returnvalue = "even";
}
},
dataType: "json",
error: function (result) {
alert("error");
}
};
$.ajax(options);
return returnvalue;
}
- 4 回答
- 0 關注
- 6561 瀏覽
添加回答
舉報