使用Ajax JavaScript回调函数 [英] Javascript callback functions with ajax

查看:118
本文介绍了使用Ajax JavaScript回调函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写一个通用的函数,将在多个地方被重用在我的脚本。

该功能使用AJAX(使用jQuery库),所以我想以某种方式传递函数(或线code)这个函数执行时,阿贾克斯完成。 我相信这需要一个回调函数,而是通过一些回调答案看完之后我还是有点困惑我怎么会在我的情况下实施。

我目前的功能是:

 函数getNewENumber(parentENumber){

        $阿贾克斯({
               键入:POST,
               网址:get_new_e_number.php
               数据:{project_number:projectNumber,parent_number:parentENumber},
               成功:函数(的returnValue){
                    执行console.log(的returnValue);
                    返回的returnValue; //有返回值excecute code

                },
                错误:函数(请求错误){
                    警报(出现了一个错误,以获得新的电子数');
                    //执行console.log(请求错误);
                }
        });
    }
 

通过这个功能我希望能够做一些事情以同样方式与其他的jQuery功能的工作,即;

  VAR parentENumber = E1-3;

getNewENumber(parentENumber,函数(){
    警报(//由getNewENumber返回的号码);
});
 

解决方案

只要给 getNewENumber 另一个参数的功能,那么使用它作为回调。

  //接收功能----------------- v
功能getNewENumber(parentENumber,cb_func){

    $阿贾克斯({
           键入:POST,
           网址:get_new_e_number.php
           数据:{project_number:projectNumber,parent_number:parentENumber},

             // ------ v -------用它作为回调函数
           成功:cb_func,
            错误:函数(请求错误){
                警报(出现了一个错误,以获得新的电子数');
                //执行console.log(请求错误);
            }
    });
}

VAR parentENumber = E1-3;

getNewENumber(parentENumber,函数(的returnValue){
    警报(的returnValue);
});
 

I am writing a generic function that will be reused in multiple places in my script.

The function uses ajax (using jQuery library) so I want to somehow pass in a function (or lines of code) into this function to execute when ajax is complete. I believe this needs to be a callback function, but after reading through a few callback answers I'm still a bit confused about how I would implement in my case.

My current function is:

function getNewENumber(parentENumber){

        $.ajax({
               type: "POST",
               url: "get_new_e_number.php",
               data: {project_number: projectNumber, parent_number: parentENumber},
               success: function(returnValue){
                    console.log(returnValue);
                    return returnValue; //with return value excecute code

                },
                error: function(request,error) {
                    alert('An error occurred attempting to get new e-number');
                    // console.log(request, error);
                }
        });
    }

With this function I want to be able to do something in the same way other jQuery functions work ie;

var parentENumber = E1-3;

getNewENumber(parentENumber, function(){
    alert(//the number that is returned by getNewENumber);
});

解决方案

Just give getNewENumber another parameter for the function, then use that as the callback.

   // receive a function -----------------v
function getNewENumber( parentENumber, cb_func ){

    $.ajax({
           type: "POST",
           url: "get_new_e_number.php",
           data: {project_number: projectNumber, parent_number: parentENumber},

             // ------v-------use it as the callback function
           success: cb_func,
            error: function(request,error) {
                alert('An error occurred attempting to get new e-number');
                // console.log(request, error);
            }
    });
}

var parentENumber = E1-3;

getNewENumber(parentENumber, function( returnValue ){
    alert( returnValue );
});

这篇关于使用Ajax JavaScript回调函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆