您的位置:首页 > Web前端 > JQuery

用JQuery中ajax 调用VB后台方法

2012-06-08 17:35 429 查看
如果用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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息