【问题标题】:How to pass parameters to an ajax call如何将参数传递给ajax调用
【发布时间】:2012-06-01 18:06:08
【问题描述】:

我有一个名为 MyTest.js 的 javascript 类,现在我在加载 MyWebPage.cs 时注册了这个脚本,但我需要将 3 个参数传递给函数,然后它将调用 Web 服务。这是我的javascript函数

MyTest.init = function() {
    var params = new Hash();
    params.set("blank", "blank");
    new Ajax.Request('/Test.asmx/CreateClients', {
        method: 'post',
        onSuccess: attachCallback(this, "Yay"),
        onFailure: attachCallback(this, "Nay"),
        onException: attachCallback(this, "Nay"),
        parameters: params
    });
}

现在我需要传递的参数是两个字符串、名称和注释,我可以在加载我的 .cs 文件时获得它们。如何将值传递给这个 init 函数?

谢谢

【问题讨论】:

    标签: c# javascript asp.net ajax


    【解决方案1】:

    使用数据属性:

    MyTest.init = function() {
        var params = new Hash();
        params.set("blank", "blank");
        new Ajax.Request('/Test.asmx/CreateClients', {
            method: 'post',
            data: {Name:"name", Notes:"Notes"},
            onSuccess: attachCallback(this, "Yay"),
            onFailure: attachCallback(this, "Nay"),
            onException: attachCallback(this, "Nay"),
            parameters: params
        });
    }
    

    【讨论】:

    • 我以后如何在 C# 上使用这些参数?
    【解决方案2】:

    在我看来,您使用的是 Prototype,而不是 jQuery,但我不确定。如果是,您只需使用您的姓名和注释属性填充 Ajax.Request 的 parameters 对象。

    MyTest.init = function(name, note) {
        var params = new Hash();
        params.set("blank", "blank");
        params.set("name", name);
        params.set("note", note);
        new Ajax.Request('/Test.asmx/CreateClients', {
            method: 'post',
            onSuccess: attachCallback(this, "Yay"),
            onFailure: attachCallback(this, "Nay"),
            onException: attachCallback(this, "Nay"),
            parameters: params
        });
    }
    

    【讨论】:

      【解决方案3】:

      你可以试试,在服务器端写出来

      <script type="text/javascript">
       var param1 = '<%= dotNetValue %>';
       var param2 = '<%= otherDotNetValue %>';
      </script>
      

      然后在客户端上,您将可以访问这些(全局)变量

      params.Set("first", param1);
      params.Set("second", param2);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-07
        • 1970-01-01
        • 2013-08-09
        • 1970-01-01
        • 2012-11-18
        • 2010-12-27
        • 2012-01-15
        相关资源
        最近更新 更多