2016-08-14 7 views
0

私はAJAX呼び出しを使用して削除しています。問題は、データベース内のアイテムの削除を反映するためにdiv内のデータテーブルを更新することです。AJAXコールの後にdivを更新するためにJQueryを使用する

+0

あなたがPHPにコマンドを送信する必要があります。 Phpはコマンドを受信するとコマンドを実行します。 Phpはコマンドを処理し、目的の値かエラーのいずれかを表示します。これはJavaScriptへの応答として返されます。その後、更新することができます。 –

+0

私のAJAX呼び出しから応答が返ってきますが、問題は$( '#dataTable')の問題ではありません。load( 'includes/datatable.php'); divを更新していない... ajaxコールバック関数が正常に返された後、div(私のデータテーブル#dataTable)の内容を更新したい。 –

+0

私はhyml()の代わりに.load() –

答えて

0

だからここに短い答え:

ここ
if(itemdel=="deleted") 
{ 
    console.log("get request to datatable"); 
    //add the absolute url here so with http://xyz.xy/includes/datatable.php 
    $.get('includes/datatable.php', function(data) { 
     console.log("data received, data"); 
     $('#dataTable').html(data); 
    }); 
} 
+0

短い答えではdiv内のものは更新されません...私はあなたに感謝し続けます。 –

+0

あなたはどう思いますか?そのajaxリクエストをdatatable.phpページに、コールバックでデータを受け取り、.htmlメソッドを使用してDOMのdiv内に置くことができます。 [Jquery Doc](https://api.jquery.com /jquery.get/) –

+0

Deleteをクリックしても何もしないということは、私のAjaxコールはMySQLデータベースからレコードを削除し、コールバック関数は「deleted」として戻ってきますが、コードはdiv #dataTableを更新しません。 –

0

"長いもの" を理解しよう:)

var delID = document.getElementById('delID').value; 

$('#so-delete').on('click', deleteData); // execute the deleteData function on click // without()!!! when you put() it will be executed @init 

function deleteData() { 
    apiCall("includes/deletesoitem.php", "POST", loadData, delID); // makes the request --> loadData function executed after ajax call is successfully finished 
} 

function loadData(itemdel) { 
    if (itemdel == "deleted") { 
     alert("SUCCESS: Item Deleted Successfully!"); 
    // the "anonymous "callBack" function will be executed after ajax request is finished 
     apiCall("includes/datatable.php", "GET", function (msg) { 
      $('#dataTable').html(msg); 
     }); 
    } 
} 

/** 
* 
* @param url Request for the URL 
* @param ajaxMethod Request Method (POST/GET/ETC) 
* @param callBack Callback method this method will be executed after  ajax request is successful 
* @param data Request body data 
*/ 
function apiCall(url, ajaxMethod, callBack, data) { 
    var requestData = (data != "undefined") ? data : {}; // set request data to data if exists 

    var request = $.ajax({ 
     url: url, 
     method: ajaxMethod, 
     data: requestData, 
     dataType: "text" 
    }); 

    request.done(function (msg) { 
     //execute the callback function 
     callBack(msg); 
    }); 

    request.fail(function (jqXHR, textStatus) { 
     alert("Request failed: " + textStatus); 
    }); 
} 
関連する問題