Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# jquery ajax调用返回值_C#_Javascript_Jquery_Asp.net_Ajax - Fatal编程技术网

C# jquery ajax调用返回值

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

我有一个带有静态页面方法的asp.net应用程序。我使用下面的代码调用该方法并获取其返回值

$.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 );
}