为什么我的简单Ajax帖子不调用c#Web方法?

时间:2019-01-16 18:32:27

标签: c# jquery ajax web-services

我有一个非常简单的AJAX帖子,它没有调用C#Web方法。

当我向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#/ Web方法:

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

    }

1 个答案:

答案 0 :(得分:0)

我通过反复试验找到了答案。在这种情况下,我必须使用JSON.stringify才能将数据传递到Web方法。下面是更新的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})
        })
    }
})