2017-07-07 69 views
0

我正在編寫一個summernote編輯器,並試圖通過從數據庫中提取用戶名來實現「提及」功能。從AJAX調用獲取數組

match: /\[email protected](\w*)$/,      
      mentions:function(keyword, callback) { 
      $.ajax({ 
        url: document.location.origin+"/topic/groupusers/"+topic_cat, 
        type: 'GET', 
        success: function(callback) {      
         callback = $(callback).filter('.mentiondata').text();       
        }  
       }); 
      }, 


      search: function (keyword, callback) { 
       callback($.grep(this.mentions, function (item) { 
        return item.indexOf(keyword) == 0; 
        })); 
      }, 
      content: function (item) { 
       return '@' + item; 
      } 

的提及屬性需要有這樣的格式: mentions: ['jayden', 'sam', 'alvin', 'david'],

當我CONSOLE.LOG callback成功的功能,這就是我進去。但是,它不會對搜索事件工作,給我item is undefined錯誤

+0

你在哪裏調用搜索?它看起來像你沒有正確處理異步回調。 – Carcigenicate

+0

是否正在搜索功能中提到。 'this.mention'有什麼結果? –

+0

@PrashantTapase,它輸出整個功能 – Grasper

回答

0
  1. pass關鍵字,或提功能的參數,而搜索。成功的
  2. 返回值中提到的功能
match: /\[email protected](\w*)$/,      
mentions:function(keyword) { 
    $.ajax({ 
      url: document.location.origin+"/topic/groupusers/"+topic_cat, 
      type: 'GET', 
       success: function(result) {      
        return $(result).filter('.mentiondata').text();       
        }  
     }); 
       }, 
search: function (keyword, callback) { 
      callback($.grep(this.mentions(keyword), function (item) { 
      return item.indexOf(keyword) == 0; 
      })); 
       }, 
content: function (item) { 
      return '@' + item; 
    } 

Sample code

+0

jquery.min.js \t我得到'a is undefined' – Grasper