Есть ли способ вызвать WebMethod с использованием собственного JS AJAX?
Похоже на:
$.ajax({
type: "POST",
url: "AssignAdditional_Equip.aspx/getEquipListing",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var result = JSON.parse(data.d);
console.log(result);
},
error: function (response) {
alert(response);
}
});
Код ниже - моя попытка:
var requestVar = new XMLHttpRequest();
requestVar.open('GET', 'AssignAdditional_Equip.aspx/getEquipListing');
requestVar.onload = function () {
if (requestVar.status === 200) {
console.log(requestVar.responseText);
}
else {
alert('Request failed. Returned status of ' + xhr.status);
}
};
requestVar.send();
Редактировать: Вот мой веб-метод о коде, чтобы устранить некоторую путаницу
<WebMethod>
Public Shared Function getEquipListing()
Dim equipType_Options As New List(Of String)
Dim serializer As New JavaScriptSerializer
Dim sqlConn As New SqlConnection
Dim reader As SqlDataReader
sqlConn.ConnectionString = ConfigurationManager.ConnectionStrings("ITSGinventory").ConnectionString
Dim sqlCmd As New SqlCommand("SELECT DISTINCT(Equipment_Type) FROM tbl_Equipments ORDER BY Equipment_Type ASC", sqlConn)
sqlConn.Open()
reader = sqlCmd.ExecuteReader
While reader.Read()
equipType_Options.Add(reader("Equipment_Type"))
End While
sqlConn.Close()
sqlConn.Dispose()
Return serializer.Serialize(equipType_Options)
End Function
Веб-метод должен возвращать сериализованный список строк. Используя JQuery, он работает как задумано. Но мой родной подход AJAX возвращает строковую разметку HTML страницы. Я делаю это неправильно?