我无法找到使用HttpWebRequest的正确格式,并将其响应返回到Javascript AJAX函数的可读JSON。
如果我只返回text,它会在响应中添加转义斜杠。如果我反序列化text它然后添加所有缩进并使我的Javascript无法读取。 (我认为因为它没有传递实际对象)
试图将可读的json对象传递给我的ajax。
控制器
[HttpPost]
public ActionResult teamLookUp(string ID)
{
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("someurl.com/apis");
myReq.ContentType = "application/json; charset=utf-8";
var response = (HttpWebResponse)myReq.GetResponse();
string text;
using (var sr = new StreamReader(response.GetResponseStream()))
{
text = sr.ReadToEnd();
}
var json2 = JsonConvert.DeserializeObject(text);
return Json(new { json = json2 });
// return Json(new {json = text}); returns json with escaping \'s
// i.e. "json":"{\"item":\"item2"}
// return Json(new {json = json2}); returns empty json,
// i.e. {"json":[[],[],[],[]]}
}
的Javascript
$.ajax({
url: "/Competitive/teamLookUp",
type: "POST",
data: "ID=" + ID,
success: function (json) {
alert(JSON.stringify(json));
alert(json[ID].name());
},
error: function(error) {
}
});
需要帮助将json object返回到我的AJAX成功函数。