jQuery_Ajaxリクエスト

jQueryAjaxについて

jQuery.ajax(options)は、HTTPリクエストを使用してリモードページを読み込むメソッドです。

非同期でリクエストを発行します。


受信データタイプの指定

受信データタイプの指定は「dataType」オプションを用います。


$.ajax({
    type: 'POST',
    dataType: 'text',
    dataType: 'html',
    dataType: 'json',

タイムアウトの設定

タイムアウト時間の設定には「timeout」オプションを用います。


$.ajax({
    timeout: 10000, // 数値

同期要求

同期処理でリクエストを発行する場合には「async」オプションを用います。


$.ajax({
    async: true, // 真偽値

jQueryAjaxでGETリクエスト

トークン認証するGETリクエストを発行するサンプルです。



var url = $("#url").val();

var headers_data = {
    "Authorization": $("#token").val(),
    "Content-Type": "application/json"
};

$.ajax({
    type:"get",
    url:url,
    contentType: 'application/json',
    headers: headers_data,
    success: function(json_data) {
        console.log("Success!!");
        console.log(json_data);
    },
    error: function(json_data) {
        console.log("Error!!");
        console.log(json_data);
    },
    complete: function() {
        console.log("Complete!!");
    }
})

jQueryAjaxでPOSTリクエスト

リクエストボディにJSONデータを持たせるサンプルです。



var url = $("#url").val();
var postdata = {
    filename: $("#filename").text(),
    filedata: $("#base64data").text(),
};
var headers_data = {
    "Authorization": $("#token").val(),
    "Content-Type": "application/json"
};

$.ajax({
    type:"post",
    url:url,
    contentType: 'application/json',
    headers: headers_data,
    dataType: "json",
    data:JSON.stringify(postdata),
    error: function(xhr, textStatus, errorThrown) {
        console.log("Error!!");
        console.log(xhr);
        console.log(textStatus);
        console.log(errorThrown);
    },
    success: function(json_data) {
        console.log("Success!!");
        console.log(json_data);
    },
    complete: function() {
        console.log("Complete!!");
    }
})

結果受信の方法について

上記サンプルのようなsuccess, error, complete記法は jQuery 1.8 で非推奨となりました。

jQuery 1.8 以降では下記の様に記述します。


$.ajax({
    url: "test.php"
}).done(function(data, status, xhr) {
    // 通信成功時の処理
}).fail(function(xhr, status, error) {
    // 通信失敗時の処理
}).always(function(arg1, status, arg2) {
    // 通信完了時の処理
});

関連ページ