1. 程式人生 > >jQuery非同步請求

jQuery非同步請求

一直都是知道ajax非同步請求,也一直在用,只是沒有詳細瞭解過。今天簡單瞭解了一下,寫一篇做記錄。

一直都以為ajax非同步請求都是差不多這種形式:

$.ajax({
            type: "post
/get",
            url: "
url",
            data: {"
a":a,"b":b},
            dataType: "text",
       success: function (data) {........ },
       error: function (msg) {........}
        });

其實錯了,從API檢視,$.ajax(url,[settings]);才是準確的。最簡單的$.ajax()可以不帶引數直接使用。可以看出除url所有的引數都是可選的。

下面簡單說一下常用的引數:

url:String型別,傳送請求的地址;

type:String型別,預設為“GET”。請求方式有“POST”、“GET”;

async:Boolean型別,預設為true。所有請求均為非同步請求。如果設定為false,則所有請求為同步請求。注:同步請求會鎖住瀏覽器;

timeout:Number型別,請求超時時間。此設定會覆蓋全域性設定;

context:Object型別,這個物件用於設定Ajax相關回調函式的上下文。也就是說讓回撥函式內this指向這個物件(如果不設定這個引數,那麼this就指向呼叫本次AJAX請求時傳遞的options引數)。比如指定一個DOM元素作為context的引數,這樣就設定了success回撥函式的上下文為這個DOM元素。

$.ajax({ url: "test.html", context: document.body, success: function(){
    $(this).addClass("done");
}});

data:Object,String型別。傳送到伺服器的資料,將自動轉換為請求字串格式。如{foo:["bar1","bar2"]}會轉換為"&foo=bar1&foo=bar2";

dataFilter:Function型別。對返回的資料進行預處理。function(data, type){return data;}。data為返回的原始資料,type為請求時dataType引數;

dataType:預期伺服器返回的資料型別。可用值:

"xml":返回XML文件,可用jQuery處理;

"html":返回純文字HTML資訊,包含的script標籤會在插入dom時執行;

"script":返回純文字JavaScript程式碼,不會自動快取結果,除非設定"cache"引數。注:在遠端請求時(非同域),所有的POST請求都將轉為GET請求,因為將使用DOM的script標籤來載入。

"json":返回JSON資料;

"text":返回純文字字串;

"jsonp":JSONP 格式。使用 JSONP 形式呼叫函式時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函式名,以執行回撥函式。

"success":Function,Array。(data, textStatus, jqXHR)請求成功後的回撥函式。

"error":請求失敗時呼叫此函式。

除了$.ajax還有簡單易用的$.get和$.post

$.get/post(url,[data],[callback],[type])簡單的get/post請求,替代複雜的ajax,如果需要在出錯時執行函式,就要使用$.ajax。

相關推薦

jQuery非同步請求ajax()之complete引數詳解

請求完成後回撥函式 (請求success 和 error之後均呼叫)。這個回撥函式得到2個引數:XMLHTTPRequest) 物件和一個描述請求狀態的字串("success", "notmodified", "nocontent","error", "timeout", "abort", 或者 "

jQuery非同步請求

一直都是知道ajax非同步請求,也一直在用,只是沒有詳細瞭解過。今天簡單瞭解了一下,寫一篇做記錄。 一直都以為ajax非同步請求都是差不多這種形式: $.ajax({             type

jquery非同步請求ajax()之dataType引數講解

dataType 從伺服器返回你期望的資料型別(意思是指伺服器返回資料後,在執行success方法前,前端jquery先對結果轉成你設定的資料型別)。如果沒有指定,jQuery將嘗試通過MIME型別的響應資訊來智慧判斷,例如java服務端設定response.setCo

jQuery非同步請求方法

jQuery確實是一個挺好的輕量級的JS框架,能幫助我們快速的開發JS應用,並在一定程度上改變了我們寫JavaScript程式碼的習慣。 廢話少說,直接進入正題,我們先來看一些簡單的方法,這些方法都是對jQuery.ajax()進行封裝以方便我們使用的方法,當然,如果要

續上篇,改用struts2實現JQuery的ajax非同步請求

······························································································································· 前面的兩篇因為是在csdn文字上編

jQuery Ajax 非同步請求data引數資料格式的六種方法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body>

ajax非同步請求以及Jquery框架封裝的非同步請求方式

一、AJAX - 阿賈克斯 1、什麼是AJAX? Asynchronous Javascript And Xml 是可以建立快速動態網頁的技術。可以實現非同步更新,而不需要載入整個網頁,只加載需要更 新某部分網頁。

jquery實現ajax非同步請求

前端程式碼: <html> <head> <meta charset="UTF-8"> <title>非同步請求</title> <script type="text/javascript" src="jquery-

Jquery ajax非同步請求帶來的問題及解決方案

考慮一段簡單的程式碼 $.post("Handle.ashx"); window.location.href = "Login.aspx"; Handle.ashx的作用是清除Session資料,亦即把使用者登出掉。 這裡就出現一個問題了。 總之最後的效果是,使用者的確重定向到了Log

React專案中使用 jQuery的 ajax進行非同步請求操作

import React, { Component} from 'react'; import $ from 'jquery'; import Cropper from 'react-cropper'; //import 'cropperjs/dist/cropper.cs

jquery使用ajax非同步請求、解析json和each函式

      今天使用jquery 的Ajax非同步請求取資料,記錄下來。 var arr=[];//定義一個數組用來記錄資料 $.ajax({ url: "XXX.jsp", type:"post", data:{method: "XX

jquery $.when()多個非同步請求成功後再執行後續方法

$.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) ).done(function( a1, a2 ) { // a1 and a2 are arguments resolved for the page1 and

jquery非同步http請求

$.get(SERVER_URL + "Admin/IncomeStatistics/getMonthlyStatic", { StartTime:$("#begintime").val(), EndTime:$("#endtime").val()

使用JQuery編寫AJax實現非同步請求

上一篇已經介紹了關於Ajax的作用和使用場景,並且介紹了使用JS進行編寫的AJax,下面就直接介紹使用JQuery版本得Ajax非同步重新整理。 $. post()以post請求方式傳送 ajax 格式:JQuery.post ( url , [data] , [callb

利用jquery的ajax實現非同步請求傳送資料到後臺

很多時候,作為一個使用者在前臺操作的時候,處理資料的時候並不一定要後臺實時處理然後再返回訊息,這樣,我們可以實用jquery的$.ajax方法實現非同步請求,在頁面不重新整理的情況下,將資料傳到後臺,

jquery ajax非同步請求json資料

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www

【js/jquery非同步請求問題

我們通常會使用jquery封裝的$.post或者$.get函式來做非同步請求,非同步的意思是當一處發出非同步請求以後,不會等待請求返回然後再執行後面的函式,而是直接執行後面的函式。有點類似於java中的多執行緒概念,但js中其實沒有多執行緒的概念,可以幫助理解。下面來看具體

jquery 跨域 非同步請求 自定義頭部 預檢請求 spring mvc攔截處理 實現token單點登入

被跨域搞死了,各種奇葩問題。 問題描述:跨域登入,生成token並儲存到redis中,然後返回給客戶端,客戶端每次請求需要將token放到請求頭中傳給服務端,服務端使用過濾器處理跨域攔截,使用攔截器判斷token有效性。問題來了,發來的請求總是獲取不到頭部資訊,也就是取不到

jQuery使用GET方式來進行非同步請求

 jQuery.get( url, [data], [callback] ):使用GET方式來進行非同步請求

jquery ajax請求成功也有response,但是不進success

error: json格式 回調函數 區分 回調 服務 erro 就會 watcher 1.狀態碼返回200--表明服務器正常響應了客戶端的請求;2.通過firebug和IE的httpWatcher可以看出服務器端返回了正常的數據,並且是符合業務邏輯的數據,但是,程序就是不