使用Ajax POST

时间:2016-05-25 08:04:17

标签: jquery ajax

我试图弄清楚为什么在尝试发送HTML数据时我的Ajax查询没有被发送到控制器。

使用这个简单的POST发送数据:

        var contentFull = $("#contract").html();

        var url2 = '@Url.Action("SavePDF", "FRP")';
        $.ajax({
            url: url2,
            type: 'POST',
            contenttype: 'text/plain',
            async: true,
            data: {
                Content: contentFull
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                CustomAlert.render(XMLHttpRequest);
                CustomAlert.render(textStatus);
                CustomAlert.render(errorThrown);
                CustomAlert.render("Error while posting SendResult");
            },
            success: function (result) {
                CustomAlert.render("Yey?");
            }

        });

将contentFull更改为简单字符串(“test”)时; SavePDF函数将激活,内容将被正确填充。 按原样使用POST时;将触发succes函数,但完全忽略SavePDF函数。

我一直在想弄清楚原因是什么。 首先想到的是字符限制问题,应该通过POST来解决。

3 个答案:

答案 0 :(得分:1)

由于我仍然无法发表评论,我将使用回答功能。 我认为您不需要指定contenttype和async,默认情况下async为true,contenttype text / plain将不允许您发送html内容。

var contentFull = $("#contract").html();

        var url2 = '@Url.Action("SavePDF", "FRP")';
        $.ajax({
            url: url2,
            type: 'POST',
            data: {
                Content: contentFull
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                CustomAlert.render(XMLHttpRequest);
                CustomAlert.render(textStatus);
                CustomAlert.render(errorThrown);
                CustomAlert.render("Error while posting SendResult");
            },
            success: function (result) {
                CustomAlert.render("Yey?");
            }

        });

答案 1 :(得分:1)

下面找到答案! https://www.owasp.org/index.php/ASP.NET_Request_Validation

由于安全性XSS问题,

Asp.net请求验证忽略了我的请求。在我的MVC控制器中使用标签[ValidateInput(false)];该功能按预期工作!

答案 2 :(得分:0)

var contentFull = $("#contract").html();
var url2 = '@Url.Action("SavePDF", "FRP")';

$.ajax({
    url: url2,
    type: 'POST',
    async: true,
    data: {
        Content: contentFull
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        CustomAlert.render(XMLHttpRequest);
        CustomAlert.render(textStatus);
        CustomAlert.render(errorThrown);
        CustomAlert.render("Error while posting SendResult");
    },
    success: function (result) {
        CustomAlert.render("Yey?");
    }
});