另一种方法是 Javascript 中的函数堆叠

another way then the function stacking in Javascript

我正在寻找一种更好的方法来完成 JavaScript 中常见的事情。我该怎么做:

// global namespace
var PlexLib = PlexLib || {};
PlexLib = {
    FileName : "",
    ShowName : "",
    AddFileSelector_result : function (data,status,xhr) {
        console.log ("Callback here." + data);
        console.log ("Callback here." + status);
        console.log ("Callback here." + xhr);
    },
    AddFileSelector : function () {
        var afs = this.AddFileSelector_result();
        $.get(script_name ,"AddFileSelector=AddFileSelector",afs,"html");
    },
    RemoveFileSelector : function () {
        console.log ("Do Remove.");
    },
}

好的,在 $.get(script_name ,"AddFileSelector=AddFileSelector",afs,"html") 问题出在 afs.

.get请求的规格为:

$.get(URL,data,function(data,status,xhr),dataType)

我在上面得到的是当回调发生时,我要么在数据中得到 'undefined',(data,status,xhr),要么整个脚本传入。我不知道如何这也正在发生。

所以,当我看到如下定义时,我要问的是:

$.get(URL,data,function(data,status,xhr),dataType)

如何做 function(data,status,xhr) 部分,我希望它是对正常的引用:

function () {
} 

在其他地方定义。

不要在这里调用函数:

var afs = this.AddFileSelector_result();

将其作为指针传递:

var afs = this.AddFileSelector_result;

这样当 AJAX 请求完成时,将使用适当的参数调用它。