Javascript webmethod显示500(内部服务器错误)

Javascript webmethod显示500(内部服务器错误),javascript,asp.net,vb.net,webmethod,Javascript,Asp.net,Vb.net,Webmethod,我正在尝试从alertBook.aspx.vb调用webmethod。 但每当我点击按钮时,我就会收到一个错误500(内部服务器错误) 这是从javascript调用webmethod的正确方法吗? 我是javascript新手 提前谢谢 我的javascript代码如下: function webMethod() { setInterval(function () { $.ajax({

我正在尝试从alertBook.aspx.vb调用webmethod。 但每当我点击按钮时,我就会收到一个错误500(内部服务器错误)

这是从javascript调用webmethod的正确方法吗? 我是javascript新手

提前谢谢

我的javascript代码如下:

function webMethod() {
                setInterval(function () {
                    $.ajax({
                        type: "post",
                        url: "alertBook.aspx/newUid",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (result) {
                            OnSuccess(result);
                        },
                        error: function (xhr, status, error) {
                            OnFailure(error);
                        }
                    });
                }, 3000);
            }
            function OnSucceeded(response) {
                alert(response);
                //pushNoti(response, "info", "y");
            }

            function OnFailure(error) {
                alert(error);
            }
<WebMethod()> _
    Public Shared Function newUid(ByVal msg As String) As String

        Dim objForm As New alertBook

        Dim objUtl As New uClass.fUtilities

        Dim sqlQuery As String
        Dim UID1, UID2 As String
        Dim notiStr As String
        Dim objDb As New uClass.dbFunctions("myCon")

        Dim dtRecords As DataTable

        sqlQuery = "select top 1 UID from alertsBook order by UID desc"

        If objDb.getDataTable(dtRecords, sqlQuery) = False Then
            Return objForm.displayMessage("Error", objDb.errDesc)
        End If

        For rCount = 0 To dtRecords.Rows.Count - 1
            UID1 = dtRecords.Rows(rCount)("UID")
        Next

        If UID1 <> UID2 Then
            notiStr = "<script> " & displayNoti("", "info", "New Message", True) & "</script>"
            UID2 = UID1
            'scriptDiv.InnerHtml = notiStr
        Else
            notiStr = ""
        End If

        Return notiStr

    End Function
alertBook.aspx是

<a class="btn btn-info" onclick="webMethod()">WebMethod</a>
WebMethod
我的方法如下:

function webMethod() {
                setInterval(function () {
                    $.ajax({
                        type: "post",
                        url: "alertBook.aspx/newUid",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (result) {
                            OnSuccess(result);
                        },
                        error: function (xhr, status, error) {
                            OnFailure(error);
                        }
                    });
                }, 3000);
            }
            function OnSucceeded(response) {
                alert(response);
                //pushNoti(response, "info", "y");
            }

            function OnFailure(error) {
                alert(error);
            }
<WebMethod()> _
    Public Shared Function newUid(ByVal msg As String) As String

        Dim objForm As New alertBook

        Dim objUtl As New uClass.fUtilities

        Dim sqlQuery As String
        Dim UID1, UID2 As String
        Dim notiStr As String
        Dim objDb As New uClass.dbFunctions("myCon")

        Dim dtRecords As DataTable

        sqlQuery = "select top 1 UID from alertsBook order by UID desc"

        If objDb.getDataTable(dtRecords, sqlQuery) = False Then
            Return objForm.displayMessage("Error", objDb.errDesc)
        End If

        For rCount = 0 To dtRecords.Rows.Count - 1
            UID1 = dtRecords.Rows(rCount)("UID")
        Next

        If UID1 <> UID2 Then
            notiStr = "<script> " & displayNoti("", "info", "New Message", True) & "</script>"
            UID2 = UID1
            'scriptDiv.InnerHtml = notiStr
        Else
            notiStr = ""
        End If

        Return notiStr

    End Function
_
公共共享函数newUid(ByVal msg作为字符串)作为字符串
Dim objForm作为新的alertBook
黯淡的对象是新的乌贼。徒劳
将sqlQuery设置为字符串
尺寸UID1、UID2为字符串
作为字符串的Dim notiStr
Dim objDb作为新的uClass.dbFunctions(“myCon”)
将数据记录设置为数据表
sqlQuery=“按UID描述从alertsBook订单中选择前1个UID”
如果objDb.getDataTable(dtRecords,sqlQuery)=False,则
返回objForm.displayMessage(“Error”,objDb.errDesc)
如果结束
对于rCount=0到dtRecords.Rows.Count-1
UID1=dtRecords.Rows(rCount)(“UID”)
下一个
如果UID1 UID2那么
notiStr=“”&显示noti(“,”信息“,”新消息“,”真)和“”
UID2=UID1
'scriptDiv.InnerHtml=notiStr
其他的
notiStr=“”
如果结束
报税表
端函数

您应该查看有关错误的更多详细信息。你可以用

  error: function (xhr, status, error){
    alert(xhr.status);
    alert(xhr.responseText);
  }
xhr.responseText
包含有关ajax错误的详细信息。

请获取更多详细信息或错误,并相应地更改代码。

您是否尝试过调试webmethod?是否有方法捕获异常并自定义
xhr.responseText
消息?