テーブルのhtmlを返すjQuery ajax呼び出しがあります。ここで、ユーザーがテーブルで JavaScript アクションを実行できるようにする必要があります。
返される ajax 応答に JavaScript コードを含めることはできますか?それとも、ページの最初の読み込み時にページに JavaScript コードを読み込む必要がありますか?
ユーザーには、「新しい」JavaScript をトリガーするオプションがあります。ajax 呼び出しでトリガーする必要はありません。
テーブルのhtmlを返すjQuery ajax呼び出しがあります。ここで、ユーザーがテーブルで JavaScript アクションを実行できるようにする必要があります。
返される ajax 応答に JavaScript コードを含めることはできますか?それとも、ページの最初の読み込み時にページに JavaScript コードを読み込む必要がありますか?
ユーザーには、「新しい」JavaScript をトリガーするオプションがあります。ajax 呼び出しでトリガーする必要はありません。
実際の質問に答えるために、返される応答にスクリプトを含めることができます。ready
最も簡単なのは、イベントがロードされているページですでに発生しているため、html の後に配置することです。
jQuery .ajax() で提供される成功 (またはその他のイベント) コールバックを使用して、この JS アクションを実行できます。このようなもの:
$.ajax({
success: function(){
// Perform JS action
}
}
jQuery API には、AJAX 呼び出しで使用できるすべてのイベント コールバックがリストされています。詳細については、これを確認してください。
返された ajax 応答には、javascript コードを文字列として含めることができます。次に、評価(応答)できます。
取得時に実行される ajax 付きのスクリプトを要求する場合は、jQuery のgetScript()
メソッドを使用して取得し、実行できます。
jQuery doc によるgetScript()
と、次の省略形です。
$.ajax({
url: url,
dataType: "script",
success: success
});
これは、データ型を適切に設定すると、jQuery の ajax コマンドが返されたスクリプトを自動的に処理することを示しています。
リクエストを変数にして、セットアップ後に拡張できます。
// Make the request to the server
var dataID = $("#WhatINeedForAParameter").val();
var request = $.ajax({
url: "PageOrControllerOrWebApi/MethodName",
type: "POST",
data: { id : dataID },
dataType: "json"
});
// When the request is done process
// what you need done
request.done(function(msg) {
alert('You got this ' + msg);
});
// If the request failed you can
// see what the problem was and
// handle the situation accordingly
request.fail(function(jqXHR, textStatus) {
alert( "Your request failed: " + textStatus );
});
成功のコールバックを使用してそれを行うことができます。これが方法になると思います。試してみてください
$.ajax({
.....,
.....,
success:
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = url;
$("#tableID").append( script );
});
それが役立つことを願っています。