Javascript 在我的例子中,如何从ajax获取返回的数据

Javascript 在我的例子中,如何从ajax获取返回的数据,javascript,ajax,ckeditor,Javascript,Ajax,Ckeditor,我试图将ajax调用返回的数据和其他代码放在一个函数中 这是用于自定义fckeditor插件的 我有点像 function customTag(editor){ var id = editor.config.id; var instance = this; //my custom ajax wrapper……. //the 'dbData' is holding the returned data from ajax. ajax

我试图将ajax调用返回的数据和其他代码放在一个函数中

这是用于自定义fckeditor插件的

我有点像

  function customTag(editor){

      var id = editor.config.id;
      var instance = this;

      //my custom ajax wrapper…….
      //the 'dbData' is holding the returned data from ajax.
      ajax.onFinished = function(dbData){ console.log(dbData)};

  //I want to return this object and use my ajax returned data
   return {
          title:'Link',
          minWidth : 200,
          minHeight : 200,
          buttons : [CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton],
          contents: [
              {
                  id:'tab',
                  label: 'test here',
                  elements: [                          
                      {
                      type:'select',
                      id:'select box',
                      //I want to use the returned data below
                      items: [[dbData[0],0],[dbData[1],0] ]
                      }
                  ]
              }
          ]
      }
  }

  CKEDITOR.dialog.add('customTag', function(editor){
      return customTag(editor);
  });

我怎样才能解决这个问题。非常感谢

ajax.onFinished
内部执行
CKEDITOR.dialog.add()。在那里,创建返回对象并将其直接用于CKEditor。或者使用同步操作。大概是这样的:

ajax.onFinished = function(dbData){
    var o = {
        title:'Link',
        minWidth : 200,
        minHeight : 200,
        buttons : [CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton],
        contents: [
            {
                id:'tab',
                label: 'test here',
                elements: [                          
                    {
                        type:'select',
                        id:'select box',
                        items: [[dbData[0],0],[dbData[1],0] ] // Use dbData
                    }
                ]
            }
        ]
    };

    CKEDITOR.dialog.add('customTag', function(editor){
        return o;
    });
};

如果CKE在调用
对话框时遇到问题。在初始化后添加
,在
ajax中初始化它。onFinished

欢迎来到奇妙的异步世界!您不能这样做。您需要创建一个包含成功后代码的新方法,并将该方法作为对ajax调用的成功回调提供。该方法不起作用,因为在onFinished方法中没有返回var o+我想为什么需要退货?如果该对象只是稍后馈送到dialog.add,为什么在完成后需要它?