ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryにおけるajaxの各種パラメータについて詳しく解説

jqueryにおけるajaxの各種パラメータについて詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-19 10:12:301656ブラウズ

ajax() パラメータ設定は Object オブジェクトであり、その各プロパティはリクエストの送信に必要な追加のパラメータ設定を指定するために使用されます。

jQuery.ajax() は、オブジェクトの次の属性を認識できます (これらはすべてオプションです):

1.url:

には String 型のパラメータが必要です (デフォルトは現在のページのアドレスです)。リクエスト。

2.type:

には String 型のパラメータが必要で、リクエスト メソッド (post または get) はデフォルトで get になります。 put や delete などの他の http リクエスト メソッド も使用できますが、一部のブラウザーでのみサポートされていることに注意してください。

3.timeout:

には Number 型のパラメータが必要で、リクエストのタイムアウト (ミリ秒) を設定します。この設定は、$.ajaxSetup() メソッドのグローバル設定をオーバーライドします。

4.async:

にはブール型パラメータが必要です。デフォルト設定はすべて非同期リクエストです。同期リクエストを送信する必要がある場合は、このオプションを false に設定します。同期リクエストはブラウザをロックするため、ユーザーはリクエストが完了するまで他の操作を実行する必要があることに注意してください。

5.cache:

ブール型パラメータが必要です。デフォルトは true (dataType が script の場合、デフォルトは false) です。これを false に設定すると、ブラウザのキャッシュから リクエスト情報 がロードされません。

6.data:

サーバーに送信されるデータ、オブジェクト型または文字列型のパラメータが必要です。文字列でない場合は、自動的に文字列形式に変換されます。取得リクエストは URL に追加されます。この自動変換を防ぐには、processData オプションを表示します。オブジェクトはキー/値形式である必要があります。たとえば、{foo1:"bar1",foo2:"bar2"} は &foo1=bar1&foo2=bar2 に変換されます。配列の場合、JQuery は異なる値に同じ名前を自動的に割り当てます。たとえば、{foo:["bar1","bar2"]} は &foo=bar1&foo=bar2 に変換されます。

7.dataType:

は String 型のパラメータを必要とし、サーバーから返される data type を期待します。指定しない場合、JQuery は http パッケージの MIME 情報に基づいて自動的に responseXML または responseText を返し、それをコールバック 関数パラメータ として渡します。利用可能な型は次のとおりです:
xml: JQuery で処理できる XML ドキュメントを返します。
html: プレーンテキストの HTML 情報を返します。含まれているスクリプト タグは、DOM に挿入されると実行されます。
script: プレーンテキストの JavaScript コードを返します。結果は自動的にキャッシュされません。キャッシュパラメータが設定されていない限り。 (同じドメインの下ではなく) リモート要求を行う場合、すべての post 要求が get 要求に変換されることに注意してください。
json: JSON データを返します。
jsonp: JSONP形式。 myurl?callback=? などの SONP フォームを使用して関数を呼び出すと、JQuery は最後の「?」を正しい関数名に自動的に置き換えて、コールバック関数を実行します。
text: プレーンテキスト文字列を返します。

8.beforeSend:

には Function タイプのパラメーターが必要です。カスタム HTTP ヘッダーの追加など、リクエストを送信する前に XMLHttpRequest オブジェクトの関数を変更できます。 beforeSend で false が返された場合、この ajax リクエストはキャンセルできます。 XMLHttpRequest オブジェクトが唯一のパラメータです。

 function(XMLHttpRequest){
  this;   //调用本次ajax请求时传递的options参数
 }

9.complete:

には、リクエストの完了後に呼び出される (リクエストが成功または失敗したときに呼び出される) コールバック関数である Function タイプのパラメーターが必要です。パラメータ: XMLHttpRequest オブジェクトと、成功したリクエストの種類を説明する文字列。

 function(XMLHttpRequest, textStatus){
    this;    //调用本次ajax请求时传递的options参数
 }
E. 10.成功: 関数タイプに必要なパラメータ、リクエストが成功した後に呼び出されるコールバック関数には 2 つのパラメータがあります。

(1) サーバーから返され、dataType パラメーターに従って処理されたデータ。状態 (2) 状態の文字列を記述します。

function(data, textStatus){
   //data可能是xmlDoc、jsonObj、html、text等等
   this;  //调用本次ajax请求时传递的options参数
}

11.error:

には、リクエストが失敗したときに呼び出される関数である Function タイプのパラメーターが必要です。この関数には、XMLHttpRequest オブジェクト、

エラー メッセージ

、およびキャプチャされたエラー オブジェクト (オプション) という 3 つのパラメーターがあります。 ajax イベント関数は次のとおりです。

function(XMLHttpRequest, textStatus, errorThrown){
    //通常情况下textStatus和errorThrown只有其中一个包含信息
    this;   //调用本次ajax请求时传递的options参数
}
12.contentType:

は、サーバーに情報を送信するときに、文字列型のパラメーターを必要とします。コンテンツのエンコーディング タイプは、デフォルトで「application/x-www-form-urlencoded」になります。このデフォルト値は、ほとんどのアプリケーションに適しています。

13.dataFilter:

には、Ajax によって返された元のデータを前処理する関数である Function タイプのパラメーターが必要です。データとタイプの 2 つのパラメータを指定します。 data は Ajax によって返される元のデータで、type は jQuery.ajax を呼び出すときに指定される dataType パラメーターです。関数によって返された値は、jQuery によってさらに処理されます。

function(data, type){
    //返回处理后的数据
    return data;
}

14.dataFilter:

には、Ajax から返された元のデータを前処理する関数である Function タイプのパラメーターが必要です。データとタイプの 2 つのパラメータを指定します。 data は Ajax によって返される元のデータで、type は jQuery.ajax を呼び出すときに指定される dataType パラメーターです。関数によって返された値は、jQuery によってさらに処理されます。

function(data, type){
   //返回处理后的数据
   return data;
}

15.global:

要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。

16.ifModified:

要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

17.jsonp:

要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

18.username:

要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

19.password:

要求为String类型的参数,用于响应HTTP访问认证请求的密码。

20.processData:

要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

21.scriptCharset:

要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。

22.jsonpCallback

为jsonp请求指定一个回调函数名。jquery会自动生成随机函数名,用这个值可以修改此名。

23. mimetype

jQuery1.5.1添加。可以用来覆盖XHR中的mimetype。

24. statusCode

jQuery1.5添加。用来定义http的返回码对应的处理函数。下面的例子定义了返回404后的处理方法。

$.ajax({   
    statusCode: {   
      404: function() {   
           alert("page not found");   
           }   
      }   
});

25.success(data,textStatus,jqXHR)

请求成功后的回调函数。参数由服务器返回,并会根据datatype参数进行参数处理。

26.timeout

设置请求超时时间,毫秒为单位。此设置会覆盖全局设置,即所有ajax请求共享同一个超时时间。

27.traditional

设置为true,用传统的方式来序列化数据。

28.type

请求方式,get或post或put或delete。默认为get。put和delte不是得到所有的浏览器支持。

29.url

发送请求的地址。为空表示当前页。

30.username

用于响应http访问认证请求的用户名。同password配对。

31.xhr

默认在ie下是ActiveXObject而其他浏览器是XMLHttpRequest。用于重写或提供一个增强的XMLHttpRequest对象。

32.xhrFields

jQuery1.5.1添加。它可以添加到原生xhr对象上的key/value对。举个例子,你可以通过它来设置跨域的withCredentials为true。

$.ajax({   
    url: a_cross_domain_url,   
    xhrFields: {   
    withCredentials: true   
    }   
});

以上がjqueryにおけるajaxの各種パラメータについて詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。