2013-04-09 107 views
0

我刚刚在我的项目中尝试fcbkcomplete,但我有麻烦调用ajax请求将结果提取到自动完成任何人都知道如何完成它?fcbkcomplete与ajax请求获取数据

服务器端:

public static string tagFriendAutocomplete() 
{ 
    string Result = ""; 
    string query = "select fr.FRIEND_ID,c.[USER_NAME] from clients c inner join friends fr on c.CLIENT_ID=fr.FRIEND_ID and fr.CLIENT_ID=1 and c.[USER_NAME] like '%a%' "; 

    DataTable dt = new SQLHelper(SQLHelper.ConnectionStrings.WebSiteConnectionString).getQueryResult(query); 
    if (dt.Rows.Count > 0) 
    { 
     for (int i = 0; i < dt.Rows.Count; i++) 
     { 
      Result += dt.Rows[i]["USER_NAME"] + ","; 
     } 
    } 

    return Result; 
} 

客户端:

$(document).ready(function() { 
      $("#select3").fcbkcomplete({ 
       //"autoCompleteFriendTag/data.txt", 
       addontab: true, 
       maxitems: 10, 
       input_min_size: 0, 
       height: 10, 
       cache: true, 
       newel: false, 
       select_all_text: "select" 
      }); 

}); 

我不知道放在哪里了jQuery AJAX代码的任何帮助,请我一直2天寻找一个解决方案,但可悲的是我没有找到我的阿贾克斯代码是:

$.ajax({ 
       type: 'POST', 
       url: 'Testautocomplete.aspx/tagFriendAutocomplete', 
       data: "{}", 
       contentType: 'application/json; charset=utf-8', 
       dataType: 'json', 
       success: function (data) { 

        return data.d.split(','); 

       }, 
       error: function (xhr) { 
        alert("responseText: " + xhr.responseText); 
       } 
      }); 
+0

看到这个http://blog.kaning.co.uk/archives/186 – 2013-04-09 12:42:43

+0

我没有找到我的url中的问题,您提供 – Sora 2013-04-09 12:47:00

回答

0

试试这个;

$(document).ready(function() { 
     $("#select3").fcbkcomplete({ 
      json_url: 'Testautocomplete.aspx/tagFriendAutocomplete', 
      addontab: true, 
      maxitems: 10, 
      input_min_size: 0, 
      height: 10, 
      cache: true, 
      newel: false, 
      select_all_text: "select" 
     }); 
}); 

还有很重要的一点,你必须通过其序列来发送数据json格式。

你的代码应该看起来像这样;

public static string tagFriendAutocomplete() 
{ 

    Dictionary<> jsonResult= new Dictionary<>(); 
    string query = "select fr.FRIEND_ID,c.[USER_NAME] from clients c inner join friends fr   on c.CLIENT_ID=fr.FRIEND_ID and fr.CLIENT_ID=1 and c.[USER_NAME] like '%a%' "; 

    DataTable dt = new SQLHelper(SQLHelper.ConnectionStrings.WebSiteConnectionString).getQueryResult(query); 
    if (dt.Rows.Count > 0) 
    { 
    for (int i = 0; i < dt.Rows.Count; i++) 
     { 
     jsonResult.Add(dt.Rows[i]["USER_NAME"], i); 
     } 
    } 

    var result = from r in jsonResult select new 
    { 
     key = r.Key, 
     value = r.Value 
    }; 

    JavaScriptSerializer ser = new JavaScriptSerializer(); 
    context.Response.Write(ser.Serialize(result)); 
} 
+0

任何解决方案没有工作我无法访问我的服务器端函数:json_url:'Testautocomplete.aspx/tagFriendAutocomplete', – Sora 2013-04-10 08:28:20

+0

使用通用处理程序。这是迄今为止我使用过的最好的方法 – 2013-04-10 08:50:41