[英]How to extract the JSON data from HttpResponse in angular js?
我正在如下Web API中所示發送JSON Http響應,響應中存在JSON數據。
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
var LoginDetailsResponse = new LoginDetails { LoginToken = "Token" , LoginDescription = "Desc" };
response.Content =
new ObjectContent<LoginDetails>(LoginDetailsResponse,
new JsonMediaTypeFormatter(), new MediaTypeWithQualityHeaderValue("application/json"));
return response;
並且以JSON格式發送的對象是:
public class LoginDetails
{
public string LoginToken { get; set; }
public string LoginDescription { get; set; }
}
以下是我用來發送請求並提取JSON內容的有角度的js代碼:
var Submit = function() { var httpResponseRef = $http({ url: 'http://wycvwetebx056.com:81/', method: "GET" }); httpResponseRef.then(successloginCallBackRef, errorloginCallBackRef, notifyCallbackRef); }; // when it is a success it call's successloginCallBackRef function var successloginCallBackRef = function(httpLoginResponseMessage) { var status = httpLoginResponseMessage.status; var response = httpLoginResponseMessage.data; // returns everything as a string type. };
但是httpLoginResponseMessage.data沒有返回預期的數據,它似乎包含以下內容。
"StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.JsonContent[LoginDetails.LoginDetailsResponse], Headers:
{
Content-Type: application/json; charset=utf-8
}"
我可以看到我具有json內容,但是我不確定在使用angular js時如何提取該內容。
為什么不依靠內置方法來進行內容協商。
public HttpResponseMessage Login()
{
var s = new LoginDetails { LoginToken = "read from somehere"};
return Request.CreateResponse(HttpStatusCode.OK, s);
}
這將為您的角度http調用返回一個JSON結構。 您可以在成功回調中讀取data屬性,它將是一個js對象,您可以在其中訪問LoginToken
屬性。
var successloginCallBackRef = function(response) {
var status = response.status;
var d = response.data;
console.log(d.LoginToken);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.