我正在使用WCF服务来交互数据库中的数据以获取数据和发布数据。对于那个使用jquery ajax。我从WCF服务获取数据。但我无法解析json数据。我尝试了大多数方法。但我无法实现。
WCF服务:
[ServiceContract]
public interface IService
{
[OperationContract]
[WebGet(UriTemplate = "/GetUserDetails?uname={uname}",
BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string GetUserDetails(string userName);
}
[AspNetCompatibilityRequirements
(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class Service : IService
{
public string GetUserDetails(string userName)
{
SqlParameter[] sqlparams = new SqlParameter[1];
DataLayer dal = new DataLayer();
DataSet ds = new DataSet();
sqlparams[0] = new SqlParameter("@UserName", userName);
ds = dal.GetDataSet("dbConn", "GetUserDetailsSP", sqlparams);
string jsonValue = JsonConvert.SerializeObject(ds);
return jsonValue; ;
}
}
的Ajax:
$.ajax({
type: 'GET',
contentType: 'application/json; charset=utf-8',
url: './Services/Service.svc/GetUserDetails',
data: { uname: 'e0205' },
async: false,
dataType: 'json',
success: function (response) {
//var testMsg = $.parseJSON(response);
alert(response.GetUserDetailsResult);
},
error: function (error) {
alert(error);
}
});
Json数据:
{"GetUserDetailsResult":"{\"Table\":[{\"UserName\":\"E0205\",\"EmpName\":\"Manjeet\",\"LocationName\":\"Gurgaon\",\"Designation\":\"Analyst\"}]}"}
我在努力解析ajax中的数据。
答案 0 :(得分:0)
因为我无法看到响应从服务中实际返回的内容
我建议尝试:
1)JSON.parse(response.data);
以及您的dataType:'json'
你可以简单地使用
...
success: function (response) {
console.log(response.GetUserDetailsResult.Table[0]);
},