Javascript JQuery自动完成和webapi 2

Javascript JQuery自动完成和webapi 2,javascript,jquery,json,web,asp.net-web-api,Javascript,Jquery,Json,Web,Asp.net Web Api,我正在使用WebApi尝试将json发送到我的网站中的自动完成jquery 我只需要将一个列表转换成一个自动完成的对象,这样我就可以向我的客户显示一个模板列表 这是我的Javascript代码- <script> var availableTags; $.get( "http://localhost:59040/api/Email/GetTemplates", { 'FirstName': "what she say", '': "sayhey" }, //

我正在使用WebApi尝试将json发送到我的网站中的自动完成jquery

我只需要将一个列表转换成一个自动完成的对象,这样我就可以向我的客户显示一个模板列表

这是我的Javascript代码-

<script>
    var availableTags;
    $.get(
  "http://localhost:59040/api/Email/GetTemplates",
  { 'FirstName': "what she say", '': "sayhey" }, // put your parameters here
  function (responseText) {
     availableTags = responseText;
     console.log(availableTags);
     DoIt();

  }
  );
  function DoIt(){

$(function () {
        var ava = availableTags;
        if (availableTags){
        console.log("Its done")
        $("#TemplatesAuto").autocomplete({
            source: availableTags
      });
      }
      else {
      console.log("Not");
      }
    });
};


</script>
我在这里快发疯了,在来这里之前找了好几个小时的答案

请帮忙

非常感谢,再见:)

我找到了

我花了一段时间重新认识到我没有将它设置为javascript的对象

我所需要做的就是

List<string> Names = new List<string>();
Names.Add("Check");
Names.Add("Check");

JavaScriptSerializer serializer = new JavaScriptSerializer();

string g = serializer.Serialize(Names);

var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(g, Encoding.UTF8, "application/json");
return response;
列表名称=新列表();
名称。添加(“检查”);
名称。添加(“检查”);
JavaScriptSerializer serializer=新的JavaScriptSerializer();
字符串g=序列化程序。序列化(名称);
var response=this.Request.CreateResponse(HttpStatusCode.OK);
response.Content=newstringcontent(g,Encoding.UTF8,“application/json”);
返回响应;
就像那样,它是有效的


非常感谢您的尝试,祝您好运。

只需更改您的方法以返回列表并返回它-您不需要手动序列化,它是在webapi的保护下发生的
GET http://localhost:54662/Check/[%22Check%22,%22Check%22]?term=c 404 (Not Found)
List<string> Names = new List<string>();
Names.Add("Check");
Names.Add("Check");

JavaScriptSerializer serializer = new JavaScriptSerializer();

string g = serializer.Serialize(Names);

var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(g, Encoding.UTF8, "application/json");
return response;