«Недопустимый вызов веб-службы, пропущено значение для параметра» с помощью jQuery - PullRequest
0 голосов
/ 14 марта 2019

У меня есть сайт, который использует WebForms. У него есть служба, которая раньше работала, но мой хост недавно перенес сайт на новый сервер. Соединения с БД работают, но моя служба asmx теперь не работает.

У меня есть эта подпись:

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public string GetJarLabel(string type, string serialized)
{

Который я звоню с этим jQuery:

var requestData = {
            "type":  "jam",
            "serialized": JSON.stringify(data)
};
$.ajax({
            type: "POST",
            url: "/Labels.asmx/GetJarLabel",,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            processData: false,
            data: JSON.stringify(requestData),
            error: function(xhr, status, ex) {
                ...snip
            },
            success: function(r) {
                ...snip
            }
        });

enter image description here

Похоже, что запрос отправлен, насколько я могу судить, но служба отвечает 500: Invalid web service call, missing value for parameter: 'type'. Я попытался переключиться на GET, строковый, а не строковый, но ничего не работает. Я уверен, что это работало до миграции, но я не могу понять, как это повлияло бы на это.

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Ниже вы можете увидеть ваш вызов ajax. Вы стреляете в нечто, называемое lblData. Что это такое? Это не то, что вы заявляете выше. Попробуйте вместо этого передать requestData.

$.ajax({
        type: "POST",
        url: "/Labels.asmx/GetJarLabel",,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        processData: false,
        data: JSON.stringify(lblData),
        error: function(xhr, status, ex) {
            ...snip
        },
        success: function(r) {
            ...snip
        }
    });

Я предполагаю, что независимо от того, lblData, у него нет определения для type.

0 голосов
/ 18 марта 2019

Я попробовал это на другой машине из дома сегодня (ранее был на работе). Кажется, у работы есть какая-то странная настройка исходящего прокси, которая мешает запросам. Я думаю, что урок состоит в том, чтобы попробовать VPN через другую страну или телефон.

...