Используйте веб-сервис Async vb.net с вызовом JavaScript - PullRequest
0 голосов
/ 29 октября 2018

У меня есть веб-сервис 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. Я могу быть полностью облажен в обеих областях, поэтому мне нужна небольшая помощь. Я видел слово «Обещание» - это то, чего мне не хватает? Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...