用JQuery中ajax 调用VB后台方法

来源:互联网 发布:ubuntu和deepin 编辑:程序博客网 时间:2024/05/09 20:04

如果用Jquery 的ajax调用后台方法,

1.首先 在标签页里脚本要(注意:绿色字体为重点)

 function ShowData(){
            
           $.ajax({
                async: false,
                type: "POST",
                contentType: "application/json;utf-8",
                url: "TeachMange.aspx/GetJSonSerializable",
                data: "{str:'79'}",
                success: function (data) {
               
                        var json = eval(data.d);
                        $("#tdBJMC").html(json[0].ClassName);
                        $("#tbTeachMange").find("tr").each(function (i) {
                            if (i == 3) {
                                $(this).find("td").eq(1).html(json[0].PrimaryTeacher);
                                $(this).find("td").eq(2).html("主讲");
                                $(this).find("td").eq(3).html(json[0].SKRQ + "<br/>" + json[0].LB_Name);
                                $(this).find("td").eq(4).html(json[0].ClassName2);
                                $(this).find("td").eq(5).html(json[0].CourseName);
                                $(this).find("td").eq(6).html(json[0].XERS);
                                $(this).find("td").eq(7).html(json[0].TrainNum);
                              
                                $("#param").val(json[0].PrimaryTeacher+"#"+json[0].ID+"#"+json[0].CID+"#"+ json[0].SKRQ);
                            }
                            if (i == 4) {
                                $(this).find("td").eq(1).html(json[0].SecondTeacher);
                                $(this).find("td").eq(2).html("辅导");
                                $("#param1").val(json[0].SecondTeacher+"#"+json[0].ID+"#"+json[0].CID+"#"+ json[0].SKRQ);
                            }
                             if (i == 5) {
                                $(this).find("td").eq(1).html(json[0].ThirdTeacher);
                                $(this).find("td").eq(2).html("辅导");
                                $("#param2").val(json[0].ThirdTeacher+"#"+json[0].ID+"#"+json[0].CID+"#"+ json[0].SKRQ);
                            }
                           
                            if ($("#param2").val().length){
                                $("#divStaffConfirm").css("display","block");
                                //document.getElementById("divStaffConfirm").style.display="block";
                            }
                        });
                       
                       
                },
                error: function (ex) {
                    var exx = ex;
                    alert('错误'+ exx);
                }

             });
         }

 

2.后台要求方法必须为静态,且方法上有“<WebMethod()> _”  标示

后台cs端代码 如:

    <WebMethod()> _
    Public Shared Function GetJSonSerializable(ByVal str As String) As String
        HttpContext.Current.Session("loadData") = ""
        Dim jsonStr = String.Empty
        Dim dt As DataTable = New ScheduleTools().GetScheduleByBH(str, " SZJG_Class.ID=" & str)

        Dim sj As String = ""
        If Not (dt Is Nothing) Then
            sj = JsonConvert.SerializeObject(dt, New DataTableConverter())
            HttpContext.Current.Session("loadData") = sj
            '补充说明一下,在序列化日期型的数据时,需要加上一个
            'dr["c"] = "3" + i.ToString();改成dr["c"] = DateTime.Now; 且
            'Dim sj1 As String = JsonConvert.SerializeObject(dt, New DataTableConverter(), New IsoDateTimeConverter())
            'Dim sj2 As String = JsonConvert.SerializeObject(dt, New DataTableConverter(), New JavaScriptDateTimeConverter())
        End If

        Return sj
    End Function

 ‘注意:JsonConvert.SerializeObject方法是引用了dll,网上写好的对json的序列号,只要拿过来用就可以了,可以从这里进行下载

 http://ishare.iask.sina.com.cn/f/23871343.html?w=MjEzMDk2OTg1OQ%3D%3D]Json45r1.zip

,也可以自己写个方法。

就好了!网友如有问题,可加我QQ:794386465

 

原创粉丝点击