转 ? C#中jQuery Ajax实例

Posted JaneAi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转 ? C#中jQuery Ajax实例相关的知识,希望对你有一定的参考价值。

 

 

目标:在aspx页面输入两参数,传到后台.cs代码,在无刷新显示到前台

下面是我的Ajax异步传值的第一个实例

1.前台html代码:

复制代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Ajax实例1</title>
    <script src="Scripts/jquery-1.7.1.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#btn1").click(function () {
                var txtparam1 = $("#txtParam1").val();
                var txtparam2 = $("#txtParam2").val();

                $.ajax({
                    url: "demo1.aspx/AjaxMethod",//发送到本页面后台AjaxMethod方法
                    type: "POST",
                    dataType: "json",
                    async: true,//async翻译为异步的,false表示同步,会等待执行完成,true为异步
                    contentType: "application/json; charset=utf-8",//不可少
                    data: "{param1:\'" + txtparam1 + "\',param2:\'" + txtparam2 + "\'}",
                    success: function (data) {
                        $("#result").html(data.d);
                    },
                    error: function () {
                        alert("请求出错处理");
                    }
                });

            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        参数1:<input type="text" id="txtParam1" value="" /><br />
        参数2:<input type="text" id="txtParam2" value="" /><br />
        <input type="button" id="btn1" value="提交"/><br />
        <div id="result"></div>
    </form>
</body>
</html>
复制代码

2.后台代码:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AjaxDemo
{
    public partial class demo1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        //type方式必须是post,方法必须是静态的,方法声明要加上特性[System.Web.Services.WebMethod()],传递的参数个数也应该和方法的参数相同。
        [System.Web.Services.WebMethod()]
        public static string AjaxMethod(string param1, string param2)
        {
            return "参数1为:"+param1+",参数2为:"+param2;
        }
    }
}
复制代码

3.运行效果:

4.输入数据,点击提交后:

 5.注意:

第1步中contentType: "application/json; charset=utf-8"这句不可少!不设置这个,json也是返不回来的

 

当然,你也可以如下这种Post传值格式写:

 

var data={"name":"Tom","age":"20"};
var url="XXX.ashx"
$.post(url,data,function (){alert("ok!")});

以上是关于转 ? C#中jQuery Ajax实例的主要内容,如果未能解决你的问题,请参考以下文章

几个有用的JavaScript/jQuery代码片段(转)

很实用的JQuery代码片段(转)

Javascript代码片段在drupal中不起作用

如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?

JQuery ajax 调用 httpget webmethod (c#) 不工作

无法将参数从 jquery ajax 传递到 c# 后面的代码