如何使用ajax发送带有解析颜色的元素

时间:2016-01-24 16:19:16

标签: jquery json ajax asp.net-mvc asp.net-web-api

使用以下代码将元素样式从浏览器发送到ASP.NET MVC4 Web API。 对于颜色属性,json数据包含字符串:

backgroundcolor: "rgba(0, 0, 0, 0)"
bordercolor: "rgb(211, 211, 211)"
color: "rgb(51, 51, 51)"

服务器中的API控制器应解析这些字符串以将颜色值作为整数。

如何以解析的形式发送此数据,每个rgb组件值作为单独的整数属性?

或者如何在MVC API控制器中解析rgb()字符串以将rgb值作为整数?

或者是否有一些更简单的方法将元素样式发送到API控制器并在浏览器或MVC控制器中轻松解析它们?

function designerSave() {
    var elementsToSend = [];
    $(".designer-element").each(function () {
        var $this = $(this),
            moot = $this.css(["width", "height", "text-align", "font-family", "font-size", "font-weight",
                "font-style", "color", "border-color", "background-color"]),
            element = {
                id: $this.attr('id'),
                vpos: Math.round($this.position().top, 2),
                hpos: Math.round($this.position().left, 2),
                width: parseFloat(moot.width),
                height: parseFloat(moot.height),
                textalign: moot["text-align"],
                fontfamily: moot["font-family"],
                fontsize: moot["font-size"],
                fontweight: moot["font-weight"],
                fontstyle: moot["font-style"],
                color: moot.color,
                bordercolor: moot["border-color"],
                backgroundcolor: moot["background-color"]
            };
        elementsToSend.push(element);
    });
    $.ajax("api/Raport",
    {
        contentType: "application/json",
        data: JSON.stringify({ elements: elementsToSend }),
        type: 'POST'
    });
}

0 个答案:

没有答案