0

我正在编写一个 MVC 应用程序,它使用 AJAX 向控制器发送和返回数据。我使用巴西葡萄牙语在文本框上写信息,例如Hidróxido de alumínio,然后通过 ajax 将它们发送到控制器。关键是文本被截断,例如Hidróxido de alumÃ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已经垃圾了!

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

4

1 回答 1

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();
                }
        });

最后请使用英文名称

于 2013-01-20T20:40:29.657 回答