我正在尝试从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);
}
alertBook.aspx是
<a class="btn btn-info" onclick="webMethod()">WebMethod</a>
我的网络方法如下:
<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
答案 0 :(得分:1)
您应该查找有关错误的更多详细信息。你可以使用
error: function (xhr, status, error){
alert(xhr.status);
alert(xhr.responseText);
}
xhr.responseText
包含有关ajax错误的详细信息
获取更多细节或错误并相应地更改代码。