如何将参数传递给ajax调用

时间:2012-06-01 18:06:08

标签: c# javascript asp.net ajax

我有一个名为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函数?

谢谢

3 个答案:

答案 0 :(得分:2)

使用数据属性:

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
    });
}

答案 1 :(得分:0)

在我看来,你使用的是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
    });
}

答案 2 :(得分:0)

您可以尝试在服务器端写出

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

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

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