首页 新闻 会员 周边

c#,js调用后台方法

0
悬赏园豆:5 [已解决问题] 解决于 2014-09-15 15:56

public static string GameScoreAdd(string uname,string uphone)
{
string msg = "";
GameScore game = new GameScore();

 

......

var share = new { msg = msg };
return JavaScriptConvert.SerializeObject(share);

}

 //提交用户数据
        $("#submit02").click(function () {
            var UName = $("#uname").val();
            var Phone = $("#uphone").val();
            alert("用户名:" + UName + " 手机号:" + Phone);
            $.ajax({
                type: "post",
                url: "GamePlay.aspx/GameScoreAdd",
                data: "{'uname':'" + UName + "','uphone':'" + Phone+ "'}",
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                success: function (r) {
                    var s1 = strToJson(r.d);
                    alert(s1.msg);
                },
                error: function (e) {
                    alert("错误是:" + e.responseText);
                }
            });

        })
View Code

c#中,js调用后台方法,出现处理请求时出错,{"Message":"处理请求时出错。","StackTrace":"","ExceptionType":""}

福气满满好运连连的主页 福气满满好运连连 | 初学一级 | 园豆:60
提问于:2014-09-15 14:43
< >
分享
最佳答案
0

是你调用"GamePlay.aspx/GameScoreAdd"里面方法的错误,加断点调试下

收获园豆:5
| 菜鸟二级 |园豆:332 | 2014-09-15 14:58
其他回答(8)
0

好高级啊看不懂╮(╯▽╰)╭

Hexa33 | 园豆:169 (初学一级) | 2014-09-15 14:49
0

你自己启动调试看看什么地方出错了不就行了么?

顾晓北 | 园豆:10844 (专家六级) | 2014-09-15 14:59
0

你自己启动调试看看什么地方出错了不就行了么?

+小马哥++ | 园豆:906 (小虾三级) | 2014-09-15 15:19
0

GamePlay.aspx/GameScoreAdd ???   从来没有见过这种调用方式!!!

你可以弄个ashx的页面去处理数据,你返回的的的JSON数据,如果用aspx还需要手动的去掉前端页面的一些html标签。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-09-15 15:21
0

你的c#后台方法是不是没有全部贴出,有没有打上[WebMethod]

    [WebMethod]
    public static string GameScoreAdd(string uname, string uphone)
    {
        return "";
    }

如果不是这里的问题,就打断点调试,看是在那里出的问题,

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-09-15 15:35
0

//常用的调用web 静态方法

[WebMethod] 

public static string GetUserName() 

  //TODO

如果要在这个方法里操作session,那还得将WebMethod的EnableSession 属性设为true 。即: 
[WebMethod(EnableSession = true)]//或[WebMethod(true)] 
public static string GetUserName() 

   //TODO

Jquery 脚本代码:

$.ajax({ 
type: "POST", 
contentType: "application/json", 
url: "WebForm2.aspx/GetUserName", 
data: "{}", 
dataType: "json", 
success: function(){.......} 
}); 

type:请求的类型,这里必须用post 。WebMethod方法只接受post类型的请求。 
contentType:发送信息至服务器时内容编码类型。我们这里一定要用 application/json 。 

最好打上断点调试一下。

Mr.Brian | 园豆:1518 (小虾三级) | 2014-09-15 15:53
0

url: "GamePlay.aspx/GameScoreAdd"

你这个url看不出来你用的是asp.net WebForm还是asp.net mvc

你在GameScoreAdd这个方法里面打断点能进去么?

nil | 园豆:879 (小虾三级) | 2014-09-15 16:27
0

两种方式总有一种方式适合你(附有demo)。
方式1:.NET前台JS调用后台C#方法(函数)
方式2:.NET前台按钮实时调用C#后台方法(函数)
http://user.qzone.qq.com/669247240/blog/1302317905

托尔斯泰NET | 园豆:213 (菜鸟二级) | 2016-03-13 23:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册