//IService.cs
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
String CheckAuth(String AccountID, String Password);
//Service.cs
public String CheckAuth(String AccountID, String Password)
{
String message="";
string StrCon = @"my conn string";
DataTable dt = new DataTable();
SqlConnection con = new SqlConnection(StrCon);
string qry = "select * from Account where AccountID='" + AccountID + "' and Password='"+Password+"'";
con.Open();
SqlCommand cmd = new SqlCommand(qry, con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(dt);
if (dt.Rows.Count > 0)
{
message = "Authorized";
}
else
{
message = "unauthorized";
}
con.Close();
return message;
}
我想知道变量d:代表什么,如何将d:更改为Message:.. ??
我需要一些建议,谢谢..
//GETTING output
{
d: "Authorized"
}
//expected output
{
Message: "Authorized"
}
我是wcf的新手,所以如果我得到可靠的建议会有所帮助 谢谢..
答案 0 :(得分:0)
变量d
出于security原因。
但是,您始终可以返回object
而不是string
public object CheckAuth(String AccountID, String Password)
{
// .. snip
return new {
Message = message
};
}
如果你这样打电话给你的服务,它应该返回类似
的内容{
"d" : {
"Message": "Authorized"
}
}
不确定你在前端使用了什么,如果你使用jQuery,你可以围绕ajax函数做一个包装:
function doAjax(url, data, cb) {
$.ajax({
url: url,
data: data,
success: function(data) {
cb(data.d);
}
});
}
并使用您新定义的函数,如下所示:
doAjax('/CheckAuth', yourDataObj, function result(data) {
console.log(data.Message);
});