【问题标题】:How to use a list of objects or array in json post request to a WebService?如何在对 WebService 的 json 发布请求中使用对象列表或数组?
【发布时间】:2012-06-25 11:13:47
【问题描述】:

如标题中所述,我正在尝试通过 JavaScript 中的 JSON/Ajax 调用 WebService 方法,其中包含多个字符串参数和 2 个列表或数组。

目前,使用这种格式的单个参数一切正常:

var WSParameters = "{pParam1: 'abc', pParam2: 'def'}"

$.ajax({
        type: "POST",
        url: "WebService.asmx/" + webMethod,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        data: WSParameters,
        success: function (result) {
            // stuff to be done on if request was successful
        },
        error: function (message) { alert('Error loading data! ' + message.responseText); }
    });

但现在我需要为 Web 服务方法提供一个值列表/数组。 Web 服务方法如下所示:

[WebMethod(true)]
public void editExistingSystem(System.Collections.Generic.List<String> pFirstList,
        System.Collections.Generic.List<String> pSecondList, 
        String pParam1,
        String pParam2)
    {
      // Stuff
    }

我想应该是这样的,但显然这不起作用:

var WSParameters = "{pFirstList: 15,4,13, pSecondList: 'gr00001_96594737', pParam1: 'abc', pParam2: 'def'}"

您能帮我找到正确的语法来在这个参数列表中定义一个列表吗?

非常感谢 davance

溴 vm370

【问题讨论】:

    标签: json web-services list post


    【解决方案1】:

    像往常一样,我几乎在提出问题后立即找到了解决方案...... 对不起各位打扰了。我开始帖子中示例的正确参数字符串是:

    var WSParameters = "{pfirstList: ['15','4','13'], pSecondList: ['gr00001_96594737'], pParam1: 'abc', pParam2: 'def'}"
    

    谢谢和最好的问候 vm370

    【讨论】:

    • 始终使用 JSONLint 或类似工具验证您的 JSON
    猜你喜欢
    • 1970-01-01
    • 2018-10-24
    • 2017-09-18
    • 2012-09-12
    • 2019-04-19
    • 1970-01-01
    • 2014-12-08
    • 2015-10-16
    • 2018-09-02
    相关资源
    最近更新 更多