通过ajax将重音发送到mvc控制器

时间:2013-01-20 20:11:35

标签: asp.net-mvc jquery encode diacritics

我正在编写一个MVC应用程序,它使用AJAX向/从控制器发送和返回数据。我使用巴西葡萄牙语在文本框上写信息,比如Hidróxidodealumínio,然后通过ajax将'发送给控制器。关键是文字被截断,就像HidróxidodealumÃnio ....

这是我的部分代码:

    $.ajax({
            url: "/Prescricoes/AddToBin",
            type: "POST",
            dataType: "json",
            data: {
                Descricao: medposologia,
                Via: $("#Vias option:selected").val(),
                DVia: $("#Vias option:selected").text(),
                CodigoPrescricao: $("#CodigoPrescricao").val()
            },
            success:
                function (data) {
                    if (data === "ERRO!") {
                        alert("Ocorreu um erro ao adicionar esta linha à prescrição.");
                        return false;
                    }
                    seeBin();
                }
        });

medposologia 是垃圾的字符串。这是控制器的一部分:

    [HttpPost]
    public JsonResult AddToBin (PrescricaoSaidaBIN bin, string descricao, int? via, string dvia ,int codigoPrescricao )
    {
        DetalhePrescricao detalheprescricao = new DetalhePrescricao();

        detalheprescricao.DVia = dvia;
        detalheprescricao.CodigoPrescricao = codigoPrescricao;
        detalheprescricao.Descricao = descricao;
        detalheprescricao.Via = via;

        string resultado = "OK";

        try
        {
            bin.AddItem(detalheprescricao);
        }
        catch {
            resultado = "ERRO!";
        }

        return Json(resultado);
    }

字符串 descricao 收到 medposologia 已经垃圾!

如何以正确的方式发送带重音和其他字符的文字?

1 个答案:

答案 0 :(得分:0)

使用此

var data = {
    Via: $("#Vias option:selected").val(),
    Descricao: medposologia,
};

   $.ajax({
            url: "/Prescricoes/AddToBin",
            type: "POST",
            dataType: "json",
            data: JSON.stringify(data),
            success:
                function (data) {
                    if (data === "ERRO!") {
                        alert("Ocorreu um erro ao adicionar esta linha à prescrição.");
                        return false;
                    }
                    seeBin();
                }
        });

请使用英文名称