Почему мой простой пост Ajax не вызывает веб-метод c #? - PullRequest
0 голосов
/ 16 января 2019

У меня есть очень простая запись AJAX, которая не вызывает C # Web Method.

Когда я добавляю точки останова в JS, он, похоже, попадает в пост AJAX, но просто завершает работу, не переходя в Web-метод. Любое понимание будет оценено!

Jquery / AJAX:

$('#btnProcess').click(function () {
    for (var i = 0; i < $('#fileList li').length; i++) {
        fileName = $('#fileList li')[i].innerText.substring(2, $('#fileList li')[i].length)

        $.ajax({
            type: 'POST',
            url: 'Default.aspx/ReadFile',
            data: '{ fileName: ' + fileName + ' }',
        })
    }
})

C # / Веб-метод:

[WebMethod]
    public static void ReadFile(string fileName)
    {
        string file = @"C:\Users\!user.a\" + fileName;
        Process.Start(file);

    }

1 Ответ

0 голосов
/ 16 января 2019

Я нашел ответ методом проб и ошибок. В этом случае мне пришлось использовать JSON.stringify для передачи данных в веб-метод. Ниже приведен обновленный код JS:

$('#btnProcess').click(function () {
    for (var i = 0; i < $('#fileList li').length; i++) {
        fileName = $('#fileList li')[i].innerText.substring(2, $('#fileList li')[i].length)
        $.ajax({
            type: 'post',
            url: 'Default.aspx/ReadFile',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify({'fileName': fileName})
        })
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...