Как передать параметры данных через AJAX в ASP.NET WebService с использованием jQuery - PullRequest
0 голосов
/ 25 августа 2011

Все работает нормально, когда я запускаю метод без включения parameters, но когда метод запускается с добавлением parameters, я получаю 500 Internal Server Error.Я не уверен, что я делаю неправильно, спасибо за любую помощь.

Не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера)

Ниже приведен код, который я сейчас использую:

  [WebMethod]
    public static string UploadNewImage(string filePath,string ImageTitle,string ImageDescription,string ImageKeywords)
    {
    }
var parameters = "{'filePath':'" + fileuploadpathValue.val() + "','ImageTitle':'" +
                titleValue.val() + "','ImageDescription':'" + descriptionValue.val() + "','ImageKeywords:'" +
                    keywordsValue.val() + "'}";
 $.ajax({
                type: "POST",
                url: "../MainService.asmx/UploadNewImage",
                contentType: "application/json; charset=utf-8",
                data: parameters,
                dataType: "json",
                success: AjaxSucceeded,
                error: AjaxFailed
            });

Ответы [ 2 ]

1 голос
/ 25 августа 2011

измените ваши параметры следующим образом:

var parameters = {
filePath: fileuploadpathValue.val(),
ImageTitle:titleValue.val(),
ImageDescription:descriptionValue.val(),
ImageKeywords:keywordsValue.val()
};

или объедините их следующим образом:

$.ajax({
                type: "POST",
                url: "../MainService.asmx/UploadNewImage",
                contentType: "application/json; charset=utf-8",
                data:  {
                    filePath: fileuploadpathValue.val(),
                     ImageTitle:titleValue.val(),
                     ImageDescription:descriptionValue.val(),
                     ImageKeywords:keywordsValue.val()
                     },
                dataType: "json",
                success: AjaxSucceeded,
                error: AjaxFailed
            });

также убедитесь, что ни один из val () здесь не имеет значения null, то есть у вас нет значения, установленного на любом из вышеприведенных элементов управления, если это csae, вы получите сообщение об ошибке типа «Null передан в параметр, который не принимает» нулевые значения "

0 голосов
/ 25 августа 2011

Проблема в вашем формате Json,

Это работает в моей системе,

 var parameters = '{"filePath": "'+fileuploadpathValue.val()+'","ImageTitle": "'+titleValue.val()+'","ImageDescription": "'+descriptionValue.val()+'","ImageKeywords": "'+keywordsValue.val()+'"}';
        $.ajax({
            type: "POST",
            url: "../MainService.asmx/UploadNewImage",
            contentType: "application/json; charset=utf-8",
            data: parameters,
            dataType: "json",
            success: AjaxSucceeded,
            error: AjaxFailed
        });
    });

Дайте мне знать, если вам нужно больше в этом

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