【问题标题】:How do i set a callback function to my ajax call with parameters, outsite the ajax function?如何在 ajax 函数之外使用参数为我的 ajax 调用设置回调函数?
【发布时间】:2014-04-09 12:22:24
【问题描述】:

我有一个执行 ajax 的 ajaxForm 类,我必须为它设置一个回调,使用表单元素上的属性 data-callback...就像:

<form method="post" action="/something" class="ajaxForm" data-callback="someFunction">
<!-- FORM STUFF -->
</form>

然后我有 JS

<script>
    $(function() {
        $('.ajaxForm').bind('submit', function(ev) {
            $.ajax({
                //AJAX STUFF
                success: function(response) {
                    call_the_data_callback_function(response);
                }
            });
        });
    });
</script>

有什么方法可以调用 javascript 函数,其名称设置在 data-callback 上,其中一个参数是 ajax 响应。

【问题讨论】:

    标签: javascript jquery ajax function callback


    【解决方案1】:

    你可以这样做 在你的成功函数中

    var callBackFunc = $(".ajaxForm").attr("data-callback");//get the function name
        callBackFunc.call(this,response); // call the function
    

    这应该可以。

    【讨论】:

    • Uncaught TypeError: Object myCallbackFunction has no method 'call'
    【解决方案2】:

    在谷歌上几分钟后,我可以找到以下解决方案:

    <script>
       var functionName = 'myCallbackFunction';
       fn = window[functionName];
       if (typeof fn === 'function') {
          fn(parameters);
       }
    </script>
    

    简单,轻松,酷! :D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      相关资源
      最近更新 更多