2016-07-20 22 views
2

我在我的項目中使用了ivirabyan/jquery-mentions。我可以做阿賈克斯請求,但問題是我如何使用響應ivirabyan/jquery-提及如何檢查ajax請求響應

$('textarea.mentions').mentionsInput({ 
    source: function(request, response) { 

     $.ajax({ 
      url: rootPath() + "user/tagFriends/" + request.term, 
      type: "GET", 
      dataType: "json", 

      success: function(data){ 
       alert(data); 
       // found data here 
      } 
     }); 
    }, 
    showAtCaret: true 

}); 

在此先感謝。

+0

哪裏是你的服務器端代碼?我在使用php時,需要確保在打印出響應時使用'json_encode'。該響應以純文本形式發回,但仍然需要使用json格式 –

+0

我的服務器端代碼很好,但不適用於客戶端代碼。不過,我得到了我的答案Snehasish Sarker –

回答

3

你可以試試這個代碼,它可能工作

$('textarea.mentions').mentionsInput({ 
source: function(request, response) { 

    $.ajax({ 
     url: rootPath() + "user/tagFriends/" + request.term, 
     type: "GET", 
     dataType: "json", 

     success: function(data){ 
      response(data); 
      // Just add this line 
     } 
    }); 
}, 
showAtCaret: true 
}); 
+0

謝謝,它的作品。正是我在找什麼。 –

1

你可以試試這個:

$.ajax({ 
      url: rootUrl + '/your_controller/', 
      type: "GET", 
      contentType: 'application/json', 
      // YOUR DATA COMING FROM THE VIEW TO THE CONTROLLER (IF IT NEED IT). 
      data: "{ 'id':'" + id + "', 'user': '" +user+ "'}", 
      dataType: 'json', 
      success: function (result) { 
       if (result) { 
       //DO YOUR STUFF. FOR EXAMPLE. SHOWING A DIV 
       $('#your_div').append("<div>Hi there. Controller send this: "+data+"</div>"); 
       // IF YOR DATA IS AN OBJECT. YOU CAN ACCESS DIRECTLY. 
       // data.attribute1, data.attribute2,... 
       // EQUALS FOR A LIST OF OBJECT AFTER LOOP IT. 
       } else { 
        //DO YOUR STUFF 
       } 
      }, 
      failure: function (data) { 
       // DO YOR STUFF IN FAILURE CASE. 
      }, 
     }); 
+0

對不起,你不明白我的問題。但感謝您的回覆 –

+0

如果您正確設置值,則此方法可讓您使用來自服務器的響應: 成功:function(result){} 這是您的問題,沒有? –