【问题标题】:Passing multiple data parameters from $.ajax to webmethod将多个数据参数从 $.ajax 传递到 webmethod
【发布时间】:2014-05-07 11:19:27
【问题描述】:

我正在尝试将一些数据参数从 ajax 调用传递给 webmethod。但它不会将它们传递给 webmethod。以下是代码

function databind(query,tbl,para,spname,cmdtype){
    $.ajax({
            type: "POST",
            url: "editviewposition.aspx/threeDTable",
            data: "{query':'"+query+"','tbl':'"+tbl+"','para':'"+para+"','spname':'"+spname+"','cmdtype':'"+cmdtype+"'}",  // here is the problem
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert(response);
            },
            error: function (response) {
                alert(response);
            }
        });
     }

网络方法

 <WebMethod()> _
    <ScriptMethod()> _
    Public Shared Function threeDTable(ByVal query As String, ByVal tbl As String, ByVal para() As Object, ByVal spname As String, ByVal cmdtype As String) As Object()()()
        'code
    End Function

【问题讨论】:

  • 我更喜欢data: JSON.stringify({query:query,tbl:tbl,para:para,spname:spname,cmdtype:cmdtype}) 而不是字符串连接。您的版本的问题是您之前在 sn-p { query 中错过了引号
  • thanks.give 它作为解决方案。我会将其标记为解决方案

标签: jquery asp.net ajax web-services


【解决方案1】:

您的版本的问题是您在 sn-p data: "{query':'

中的 query 之前错过了引号

不过我建议你使用JSON.stringify()

JSON.stringify() 方法将值转换为 JSON,如果指定了替换函数,则可选地替换值,或者如果指定了替换器数组,则可选地仅包括指定的属性。

代码示例

data: JSON.stringify({query:query,tbl:tbl,para:para,spname:spname,cmdtype:cmdtype})

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多