C# AJAX返回对象在asp.net web表单中包含d
嘿,伙计们,这是一个简单的问题,但要停止ajax返回对象包含的C# AJAX返回对象在asp.net web表单中包含d,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,嘿,伙计们,这是一个简单的问题,但要停止ajax返回对象包含的d I asp.net web表单 $.ajax({ type: "POST", url: myurl, data: JSON.stringify({value:"1"}), contentType: "application/json; charset=utf-8", dataType: "json", success: func
d
I asp.net web表单
$.ajax({
type: "POST",
url: myurl,
data: JSON.stringify({value:"1"}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
//alert("i am in success");
console.log(result);
},
failure: function (response) {
console.log("I am in failure");
}
});
及
在.cs文件中
[WebMethod]
public static string getSpareParts(string value)
{
List<data> spareParts;
using (var db = new WaltonCrmEntities())
{
spareParts = db.SpareParts.Select(x => new data
{
id = x.ItemID,
text = x.ItemName
}).ToList();
}
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize(spareParts);
//return spareParts;
}
[WebMethod]
公共静态字符串getSpareParts(字符串值)
{
列出备件清单;
使用(var db=new WaltonCrmEntities())
{
spareParts=db.spareParts.Select(x=>newdata
{
id=x.ItemID,
text=x.ItemName
}).ToList();
}
JavaScriptSerializer js=新的JavaScriptSerializer();
返回js.Serialize(spareParts);
//归还备用零件;
}
当result为return时,它将在
result.d
中包含result,但我想停止这件d
事情。简单的结果应该是result
。谁能解决这个问题。对此你无能为力。这就是ASP.NET WebMethods总是序列化响应的方式。Microsoft决定将响应包装在此.d
属性中的原因是为了防止这种特殊情况。当然,无论此属性是否存在,您都可以始终在成功
回调中进行检查:
success: function (result) {
var data = result.hasOwnProperty('d') ? result.d : result;
console.log(data);
}
另外,我强烈建议不要在WebMethod中编写管道代码(如序列化内容),只需返回适当的对象,让基础结构关注序列化:
[WebMethod]
public static List<data> getSpareParts(string value)
{
using (var db = new WaltonCrmEntities())
{
return db.SpareParts.Select(x => new data
{
id = x.ItemID,
text = x.ItemName
}).ToList();
}
}
你对此无能为力。这就是ASP.NET WebMethods总是序列化响应的方式。Microsoft决定将响应包装在此
.d
属性中的原因是为了防止这种特殊情况。当然,无论此属性是否存在,您都可以始终在成功
回调中进行检查:
success: function (result) {
var data = result.hasOwnProperty('d') ? result.d : result;
console.log(data);
}
另外,我强烈建议不要在WebMethod中编写管道代码(如序列化内容),只需返回适当的对象,让基础结构关注序列化:
[WebMethod]
public static List<data> getSpareParts(string value)
{
using (var db = new WaltonCrmEntities())
{
return db.SpareParts.Select(x => new data
{
id = x.ItemID,
text = x.ItemName
}).ToList();
}
}