none
ajax 调用WebService 如何传递 ref 类型参数 RRS feed

  • 问题

  • 大家好,我想咨询一个问题

    我在脚本利用ajax直连一个普通的webservice方法,可以正常取得返回值,如  public string GetName(int id);

    但是如果webservice的某个方法的参数为ref类型,我将如何传递参数

    webservice 代码如下

    public string GetName(int id, ref string names) {... ...}

    前端代码如下

    $.ajax({
                type: 'POST',
                contentType: 'application/x-www-form-urlencoded',
                url: 'http://.../....asmx/GetName',
                data: { id : 1, names : "..." },//重点是这里,如何传递引用类型参数 names
                dataType: 'xml',
                success: function (result) {
                    alert($($(result).find("string").get(0)).html());
                }
            });

    2016年10月13日 9:00

答案

  • 你好,

    据我所知AJAX并不能传递引用类型的参数,ajax支持的传递参数类型只有string

    data
    类型:String
    发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。

    也就是说,传递到后台的参数是一个string类型的字符串。

    另外,AJAX 主要是用于前台和后台之间的通信,和ref关键字没任何关系。

    2016年10月13日 11:34

全部回复

  • 你好,

    据我所知AJAX并不能传递引用类型的参数,ajax支持的传递参数类型只有string

    data
    类型:String
    发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。

    也就是说,传递到后台的参数是一个string类型的字符串。

    另外,AJAX 主要是用于前台和后台之间的通信,和ref关键字没任何关系。

    2016年10月13日 11:34
  • 楼主:我好奇,你为何需要对WebService的参数定义out或者ref?

    你一定要引用,javascript无此功能;除非你在C#中直接引用这个WebService。


    ASP.NET Forum
    StackOverFlow
    FreeRice Donate
    Issues to report



    2016年10月13日 13:16