通过js调用具有参数类型输入的webservice函数

Posted

技术标签:

【中文标题】通过js调用具有参数类型输入的webservice函数【英文标题】:call webservice funtion that has params type input by js 【发布时间】:2017-12-24 05:44:46 【问题描述】:

我有这样的 c#.net 网络服务

[WebMethod]
public string GetReportResult(int ReportID,params object[] Parameters)

    return "hello";

[WebMethod]
public string Hello(string hello)

    return hello;

对于 hello 函数,我可以调用函数,但 GetReportResult 我不能 我的 jquery ajax 是这个

        var webMethod = "ws.asmx/Hello";
        var parameters = "'ReportID':10,";
        $.ajax(

            type: "POST",
            url: "ws.asmx/GetReportResult",
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',

            data: parameters,
            success: function (msg) 
                alert(msg.d);
            ,
            error: function (jqXHR, textStatus, errorThrown) 
                alert(errorThrown);
            
        );
    );

我想通过 jquery 调用这个 Web 服务,但我不知道如何将数据发送到 params 值 大家可以帮帮我吗?

【问题讨论】:

只需发送一个数组,“params”只是在您从代码中调用它时启用 params 参数语法 - 它仍然是一个简单的数组。出现的第一个问题:为什么要声明一个带有参数的 WebMethod? @YeldarKurmangaliyev,你能解释一下吗? 【参考方案1】:

我使用 jQuery 中的数组发送了输入。这是代码的工作示例

$(document).ready(function() 
  var cars = ["Saab", "Volvo", "BMW"];
  var webMethod = "ws.asmx/Hello";
  var parameters = "'ReportID':10,'Parameters':['Name1','Name2']";
  $.ajax(

    type: "POST",
    url: "ws.asmx/GetReportResult",
    dataType: 'json',
    contentType: 'application/json; charset=utf-8',

    data: parameters,
    success: function(msg) 
      alert(msg.d);
    ,
    error: function(jqXHR, textStatus, errorThrown) 
      alert(errorThrown);
    
  );
);

【讨论】:

@mpf82 谢谢我的朋友,我通过这种方式解决了我的问题,等待系统让我检查我的答案

以上是关于通过js调用具有参数类型输入的webservice函数的主要内容,如果未能解决你的问题,请参考以下文章

java通过wsdl调用webService查看返回参数

js调用webservice接口

JAVA怎样调用https类型的webservice

java调用webservice怎么添加 SoapHeader 做验证

vb.net如何动态调用WebService接口啊

AJAX调用WebService错误!