Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将多个数据参数从$.ajax传递到webmethod_Jquery_Asp.net_Ajax_Web Services - Fatal编程技术网

Jquery 将多个数据参数从$.ajax传递到webmethod

Jquery 将多个数据参数从$.ajax传递到webmethod,jquery,asp.net,ajax,web-services,Jquery,Asp.net,Ajax,Web Services,我正在尝试将ajax调用中的一些数据参数传递给webmethod。但它不会将它们传递给webmethod。下面是代码 function databind(query,tbl,para,spname,cmdtype){ $.ajax({ type: "POST", url: "editviewposition.aspx/threeDTable", data: "{query':'"+query+"','tbl':'"+

我正在尝试将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
_
_
公共共享函数threeDTable(ByVal查询作为字符串,ByVal tbl作为字符串,ByVal para()作为对象,ByVal spname作为字符串,ByVal cmdtype作为字符串)作为对象()
“代码
端函数

您的版本的问题是,您在代码段
数据中的查询之前缺少引号:“{query':”

不过,我建议您使用

stringify()方法将值转换为JSON,如果指定了替换函数,则可以选择替换值;如果指定了替换数组,则可以选择仅包含指定的属性

代码示例


我更喜欢
data:JSON.stringify({query:query,tbl:tbl,para:para,spname:spname,cmdtype:cmdtype})
而不是字符串连接。您的版本的问题是,您以前在代码段
{query
中遗漏了引号。谢谢。将其作为解决方案提供。我会将其标记为解决方案
data: JSON.stringify({query:query,tbl:tbl,para:para,spname:spname,cmdtype:cmdtype})