AJAX কলব্যাকে কাস্টম জেএস ফাংশনটি আহ্বান করবেন?


8

একটি এজেএক্স কলব্যাকে কি কাস্টম জেএস ফাংশন চাওয়া সম্ভব?

function MY_MODULE_ajax_callback() {
  // Define a new array to hold our AJAX commands.
  $ajax_commands = array();

  // Create a new AJAX command that replaces the #page text with our own text.
  $ajax_commands[] = [CUSTOM JS FUNCTION]

  // Return our commandS
  return array('#type' => 'ajax','#commands' => $commands);
}

হ্যাঁ, তাই বা কমপক্ষে এটি সম্ভব হওয়া উচিত। কোন বিশেষ সমস্যা?
Mołot

উত্তর:


5

আপনি একটি স্বেচ্ছাসেবী স্ক্রিপ্ট চালাতে পারবেন না, তবে আপনি যদি কোনও jQuery প্লাগইনে আপনার জেএস কার্যকারিতা গুটিয়ে রাখতে পারেন তবে ajax_command_invokeআপনি একই প্রভাবটি ব্যবহার করতে পারেন

$selector = 'body';
$method = 'myJqueryPlugin';
$args = array('arg1', 'arg2');

$ajax_commands[] = ajax_command_invoke($selector, $method, $args);

যখন সামনের প্রান্তে এটি প্রকাশিত হবে তখন এর সমতুল্য কিছু কার্যকর করা হবে

$('body').myJqueryPlugin('arg1', 'arg2');

10

হ্যাঁ, তাই

কোড নমুনা:

$commands = array();
$commands[] = array(
    'command' => 'your_js_callback', // the name of your javascript callback
    'value1'  => 'My first value',
    'value2'  => 'My second value',
);

জেএস কোড:

(function($, Drupal) {
    Drupal.ajax.prototype.commands.your_js_callback = function(ajax, response, status) {
        alert(response.value1);
        alert(response.value2);
    }
})(jQuery, Drupal);

3
এটিও একটি ভাল উদাহরণ
রোটারি রাদু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.