2013-01-17 44 views
0

我有一个看起来像这样的函数。有用。从另一个函数jQuery回调

问题

此功能myFunction还受许多其他功能,具体取决于它应该做的事情上成功不同的调用。

问题

这怎么解决?某种回调?或者我是否必须发送一个额外的参数让函数知道?

代码

function myfunction() 
{ 
    var value = "myvalue"; 
    var post_url = "ajax.php"; 

    $.post( 
     post_url, 
     { 
      value: value, 
     }, 
      function(responseText){ 
       var json = JSON.parse(responseText); 
       if(json.success) 
       { 
        console.log('success'); 
       } 
      } 
     ); 
    } 
} 

回答

2

添加功能参数,调用它的成功:

function myfunction(callback) 
{ 
    var value = "myvalue"; 
    var post_url = "ajax.php"; 

    $.post( 
     post_url, 
     { 
      value: value, 
     }, 
      function(responseText){ 
       var json = JSON.parse(responseText); 
       if(json.success) 
       { 
        console.log('success'); 
        //call callback 
        callback(); 

       } 
      } 
     ); 
    } 
} 
1

myfunction接受回调:

function myfunction(callback) 
{ 
    var value = "myvalue"; 
    var post_url = "ajax.php"; 

    $.post(post_url, { value: value }, callback); 
} 

然后你就可以在任何函数传递给被执行时POST回来:

myfunction(function(responseText){ 
    var json = JSON.parse(responseText); 
    if (json.success) 
    { 
     console.log('success'); 
    } 
}); 
0

是的,你要么需要有一个参数来识别来电者,像

function myfunction(caller) { 
    if (caller == "Foo") { 
     // some code 
    } 
} 

myFunction("Foo"); 

或者使用全局变量

function myFunction() { 
    if (caller == "Foo") { 
     // some code 
    } 
} 

caller = "Foo"; 
myFunction(); 
相关问题