Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用回调编写jQuery函数?_Javascript_Jquery_Jquery Plugins - Fatal编程技术网

Javascript 如何使用回调编写jQuery函数?

Javascript 如何使用回调编写jQuery函数?,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我有以下功能: function loadProjects(pID) { $.ajax({ url: myURL, success: function (dataJS) {XXXXXXXXXXXXXXXX} }); } 我把这个函数叫做loadProjects(1) 问题是我希望能够在成功后定义回调函数,并且我希望在执行LoadProject时包含它(1,回调:{这里包含的任何js在成功后都会被回调}) 如何让函数接受回调? 如何将回调传递给该

我有以下功能:

function loadProjects(pID) {

    $.ajax({
        url: myURL,
        success: function (dataJS) {XXXXXXXXXXXXXXXX}
    });
}
我把这个函数叫做loadProjects(1)

问题是我希望能够在成功后定义回调函数,并且我希望在执行LoadProject时包含它(1,回调:{这里包含的任何js在成功后都会被回调})

如何让函数接受回调? 如何将回调传递给该函数


谢谢

以下是如何修改函数以使其能够接受回调

function loadProjects(pID, callback) {
    $.ajax({
        url: myURL,
        success: function (dataJS) {
          if ($.isFunction(callback)) {
            callback.call();
          }
        }
    });
}
下面是您将如何使用它

function myCoolCallback() {
  alert("I am cool");
}  

loadProjects(123, myCoolCallback);
或者,您可以将其与这样的匿名函数一起使用

loadProjects(123, function() {
  alert("I am cool");
});
调用如下内容:

loadProjects(111, function() { alert('hello!'); });
用法:

loadProjects(pID, function(dataJS)
{
    // do stuff with your dataJS, bear in mind you can call the parameter any name.
});

您可以将一个函数传递给另一个函数,就像它是任何其他对象一样。看看这个:

function loadProjects(pId, callback) {

  $.ajax({
    url: myUrl,
    success: function() {
      callback.call(); // <-- invokes your callback with no args
    }

}
函数加载项目(pId、回调){
$.ajax({
url:myUrl,
成功:函数(){

callback.call();//谢谢大家。但我希望callback是我想要的任何东西。我不希望回调是静态的?再次感谢,但所有这些都是静态回调,它不允许我定义callbackfunc(22)之类的东西但是我怎样才能将参数传递给callback呢?+1用于正确猜测他想将参数传递给callback。这个问题应该得到-1,因为措词不当。我爸爸总是告诉我,棘手的部分不是找出解决方案,而是找出问题所在。
loadProjects(pID, function(dataJS)
{
    // do stuff with your dataJS, bear in mind you can call the parameter any name.
});
function loadProjects(pID, callback) {
  $.ajax({
    url: myURL,
    success: function (dataJS) {
      // your initial method declaration goes here
      ...

      // just call the callback method at the end of the success method
      callback();
    }
function loadProjects(pId, callback) {

  $.ajax({
    url: myUrl,
    success: function() {
      callback.call(); // <-- invokes your callback with no args
    }

}