我正在使用WebApi尝试在我的网站上获取json arry到我的自动完成jquery,
我很简单需要将List转换为自动完成对象,以便向客户显示模板列表,
这是我的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>
我的webapi控制器代码:
//Get templates
[HttpGet]//omUrl/{url?}
[Route(@"~/api/Email/GetTemplates")]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public string GetTemplates()
{
List<string> Names = new List<string>();
Names.Add("Check");
Names.Add("Check");
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(Names);
}
似乎正常,有效。但是,当我尝试在自动完成输入中写入内容时,我收到此错误:
GET http://localhost:54662/Check/[%22Check%22,%22Check%22]?term=c 404 (Not Found)
我在这里疯了,在来这里之前找了几个小时的答案,
请帮忙。
非常感谢,美好的一天:)
答案 0 :(得分:0)
我找到了它!..
我花了一些时间来重申我没有把它作为我的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;
就像那样,它有效,
非常感谢您尝试,美好的一天。