【问题标题】:0x800a138a - JavaScript runtime error: Function expected in AJAX call0x800a138a - JavaScript 运行时错误:AJAX 调用中预期的函数
【发布时间】:2015-10-27 19:16:08
【问题描述】:

请看下面的代码:

<script type="text/javascript"  src="Javascript/json2.js"></script>
     <script type="text/javascript" src="Javascript/jquery-1.11.1.min.js"></script>
<script type = "text/javascript">
function GroupUSNChange() {
        alert("got here");
        var frm = document.forms[0];
        var usn = document.getElementById("ctl00_ContentPlaceHolder1_hfUSN");
        for (i = 0; i < frm.elements.length; i++) {
            if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substr(0, 38) == "ctl00$ContentPlaceHolder1$RematchGroup") {
                if (frm.elements[i].checked == true) {

                    var id = frm.elements[i].name.split("|");
                    alert(id[1]);
                    alert(id[2]);
                    alert(usn.value);

                    $.ajax({
                        type: "POST",
                        url: "frmPNList.aspx/ChangeGroupOfUSNs",
                        contentType: "application/json; charset=utf-8",
                        data: JSON.stringify({ strNewUSN: usn, strURNs: id(1), strDatasetName: id(2) }),
                        dataType: "json",
                        success: OnSuccess(response),
                        error: function (xhr, errorType, exception) {
                            var errorMessage = exception || xhr.statusText; //If exception null, then default to xhr.statusText  
                            alert("there was an error changing USNs: " + errorMessage);
                        },
                        failure: function (response) {
                            alert('there was a problem changing USNs.')

                        }
                     });
                    function OnSuccess() {
                        return function (response) {
                            //alert('got here 2')
                            alert('Successfully changed USNs')
                        }
                    }



                }
            }
        }
    }
</script>

以及背后的代码:

<System.Web.Services.WebMethod()> _
    Public Shared Function ChangeGroupOfUSNs(ByVal strNewUSN As String, ByVal strURNs As String, ByVal strDatasetName As String) As String

        Dim intUSN As Integer = CInt(strNewUSN)

        Return "done"
    End Function

错误出现在开头的行:$.ajax({

id 和 USN 包含正确的值。为什么会出现此错误?

【问题讨论】:

    标签: javascript jquery asp.net ajax vb.net


    【解决方案1】:

    您正在调用您的成功处理程序:

    success: OnSuccess(response),
                      ^^^^^^^^^^
    

    什么时候应该更像:

    success: function(data) { OnSuccess(data); }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      相关资源
      最近更新 更多