C# jquery ajax调用返回值
我有一个带有静态页面方法的asp.net应用程序。我使用下面的代码调用该方法并获取其返回值C# jquery ajax调用返回值,c#,javascript,jquery,asp.net,ajax,C#,Javascript,Jquery,Asp.net,Ajax,我有一个带有静态页面方法的asp.net应用程序。我使用下面的代码调用该方法并获取其返回值 $.ajax({ type: "POST", url: "myPage/myMethod", data: "{'parameter':'paramValue'}", contentType: "application/json; charset=utf-8", dataType: "json", success: func
$.ajax({
type: "POST",
url: "myPage/myMethod",
data: "{'parameter':'paramValue'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result) {alert(result);}
});
我得到的是[object]
下面是我的静态方法。我的ScriptManager中还有EnablePageMethods=“true”
EnablePartialRendering=“true”
[WebMethod]
[ScriptMethod]
public static string myMethod(string parameter)
{
return "Result";
}
有没有办法获取返回值?尝试使用Chrome开发者工具或Firfox的firebug插件。不确定IE的开发工具是否允许您检查ajax调用 您要查找的结果字符串实际上位于结果对象中。您需要查看d变量。我记得在某个地方读到过为什么会这样,我想是ASP.NET在玩:| 尝试: c# 希望这有帮助。这个怎么样
$.ajax({
type: "POST",
url: "myPage/myMethod?paramater=parameter",
success: function(result) {
alert(result);
}
});
我找到了解决办法 您可以使用parseJSON获得结果 或者将数据类型更改为html以查看实际值。
感谢大家的帮助。只是因为您被ASP.NET 3.5的JSON响应中引入的.d所困扰。引用戴夫·沃德的话 如果您不熟悉“.d” 我指的是,它只是一个 Microsoft添加的安全功能 在ASP.NET 3.5的ASP.NET版本中 AJAX通过封装JSON 父对象中的响应 框架有助于防止 因此,只需检查
.d
是否存在,然后将其展开即可。像这样改变你的成功函数
success: function(result) {
var msg = result.hasOwnProperty("d") ? result.d : result;
alert(msg );
}
当您更新帖子以包含问题时,如果是关于返回值的问题,请包含您正在调用的方法。您的警报调用中有一个额外的结束括号。不知道你的问题,这可能是你的问题。警惕(结果));除非您使用的是asp.net 2.0或更低版本,否则您将无法使用d参数。data.d是这里的关键,asp.net出于某些安全原因在.d中提供json。编辑question.LOL几分钟后,我们就发现了这一点。jquery太棒了!喜欢它。这不是asp.net在玩。d有一个原因:)
$.ajax({
type: "POST",
url: "myPage/myMethod?paramater=parameter",
success: function(result) {
alert(result);
}
});
success: function(result) {
var msg = result.hasOwnProperty("d") ? result.d : result;
alert(msg );
}