У меня есть веб-сервис VB.Net, который использует HttpClient и вызывается с использованием Javascript
<WebMethod()>
Public Async Function ADMIN_SearchGrantsJSON_projectNumber_Async(projectNumber As String) As Threading.Tasks.Task(Of String)
Dim term As String = projectNumber.Replace(" ", "")
Dim offset As Integer = 0
Dim retLimit As Integer = 50
Dim TotalCount As Integer = 0
Dim termName As String = "projectNumber:*" + term + "*"
Dim serverUrl As String = "https://api.federalreporter.nih.gov/"
Dim requestUrl As String = "/v1/projects/search?query=" & termName & "&offset=" & CStr(offset) & "&limit=" & CStr(retLimit)
Dim xmlOutputFormat As Boolean = False
Dim result As String = String.Empty
Try
Using client = New System.Net.Http.HttpClient()
client.BaseAddress = New Uri(serverUrl)
client.DefaultRequestHeaders.Accept.Clear()
If xmlOutputFormat Then
client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"))
Else
client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"))
End If
Dim response As System.Net.Http.HttpResponseMessage = Await client.GetAsync(requestUrl)
response.EnsureSuccessStatusCode()
result = response.Content.ReadAsStringAsync().Result
Return result
End Using
Catch ex As System.Net.Http.HttpRequestException
'LogStatus(ex.Message.ToString)
Throw
End Try
Return result
End Function
функция JavaScript
function search_project_number(projectNumber) {
$.ajax({
type: "POST",
url: "/biosketch.asmx/ADMIN_SearchGrantsJSON_projectNumber_Async",
data: JSON.stringify({
projectNumber: projectNumber
}),
beforeSend: function () { },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
build_table(data.d);
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
}
Мне нужно вызвать его с помощью функции JavaScript, чтобы он мог анализировать объект JSON. Когда я называю это с помощью Javascipt, я ничего не получаю. Нет ошибок и нет успеха. Когда я вызываю его с помощью настольного приложения, я вижу объект JSON, но все равно не могу разобрать его. Это первый раз, когда я использую HttpClient, а также первый раз, когда я использую вызов веб-службы с использованием Async. Я могу быть полностью облажен в обеих областях, поэтому мне нужна небольшая помощь. Я видел слово «Обещание» - это то, чего мне не хватает? Спасибо за помощь