Sys.ParameterCountException:参数计数不匹配

Any*_*are 12 javascript asp.net ajax jquery updatepanel

我面临着以下问题firefoxgoogle chrome:

Sys.ParameterCountException: Parameter count mismatch. 
Run Code Online (Sandbox Code Playgroud)

我调用以下javascript方法onclick:

<script type="text/javascript">
        var confirmSubmited = false;
        function SubmitWithLog(par_name, par_address, frm) {

            jQuery.ajax({
                url: "/LogAction.ashx?par_name=" + par_name + "&par_address=" + par_address,
                type: "GET",
                timeout: 3000,
                async: true, // you can try and async:false - maybe is better for you
                data: action = 4, // here you send the log informations
                cache: false,
                success: function(html) {
                    jQuery(frm).submit();
                },
                error: function(responseText, textStatus, XMLHttpRequest) {
                    jQuery(frm).submit();
                }
            });

            return false;
        }
    </script>
Run Code Online (Sandbox Code Playgroud)

来自firebug的链接将呈现如下:

<a href="#" onclick="SubmitWithLog('%d8%b7%d9%84%d8%a8+%d8%a5%d9%84%d8%aa%d9%85%d8%a7%d8%b3+??%d9%84%d9%84%d9%85%d9%88%d8%a7%d8%b1%d8%af+%d8%a7%d9%84%d8%a8%d8%b4%d8%b1%d9%8a%d??8%a9','...../RequestList.aspx','#ctl43');return false;">GO </a>
Run Code Online (Sandbox Code Playgroud)

根据以下链接:

错误:Sys.ParameterCountException:参数计数不匹配.

我订了 ScriptMode = "release"

但我得到另一个错误

this._toFormattedString is not a function
Run Code Online (Sandbox Code Playgroud)

IE中不存在此问题.


编辑:

public class LogAction : IHttpHandler, System.Web.SessionState.IRequiresSessionState
    {


        public void ProcessRequest(HttpContext con)
        {
            // log here what you wish
            string[] statistics = TrackUser();
            string a = HttpUtility.UrlDecode(con.Request.Params["Par_name"].ToString());
            string b = con.Request.Params["Par_address"].ToString();

            TraceActivity(a, b, statistics[0], statistics[1], statistics[2]);
            // end up with no content
            con.Response.TrySkipIisCustomErrors = true;
            con.Response.Status = "204 No Content";
            con.Response.StatusCode = 204;
        }

    //-------------------------------------------
    }
Run Code Online (Sandbox Code Playgroud)

Var*_*yan 6

这就是当你使用不正确的参数数量调用ajax API的公共方法时会发生什么.例如,试试Boolean.parse("true", "what?").它只需要1个参数,你传入2或你发送一个空值.

您的提交链接...../RequestList.aspx也不是正确的地址.所以请确保您没有传递null或错误的参数.


bUK*_*eer 6

可能值得包装您的数据:引号中的项目

data: action = 4
Run Code Online (Sandbox Code Playgroud)

data: "action = 4"
Run Code Online (Sandbox Code Playgroud)