当我想要一个字符串时,Html用于响应

时间:2018-05-17 09:26:23

标签: javascript html asp.net json ajax

我有以下功能:

function getHtmlFromMarkdown(markdownFormat, requestUrl) {

    const dataValue = { "markdownFormat": markdownFormat }

    $.ajax({
        type: "POST",
        url: requestUrl,
        data: dataValue,
        contentType: "application/json: charset = utf8",
        dataType: "text",
        success: function (response) {
            alert(response);
            document.getElementById("generatedPreview").innerHTML = response;
        },
        fail: function () {
            alert('Failed')
        }
    });
}

我的服务器上有这个:

    [WebMethod]
    public static string GenerateHtmlFromMarkdown(string markdownFormat)
    {
        string htmlFormat = "Some text";

        return htmlFormat;
    }

我有回复HTML代码,而不是我想要的字符串。我究竟做错了什么? 如果我更改“dataType:json”,它甚至不会输入成功或失败函数

2 个答案:

答案 0 :(得分:4)

您的ajax数据类型必须是json,如此

function getHtmlFromMarkdown(markdownFormat, requestUrl) {
    var dataValue = { "markdownFormat": markdownFormat }
    $.ajax({
        type: "POST",
        url: requestUrl,
        data: JSON.stringify(dataValue),
        dataType: "json",
        success: function (response) {
            alert(response);
            document.getElementById("generatedPreview").innerHTML = response;
        },
        error: function () { alert("Failed"); }
    });
}

答案 1 :(得分:1)

试试这个。

function getHtmlFromMarkdown(markdownFormat, requestUrl) {
var obj={};
obj.markdownFormat=markdownFormat;


$.ajax({
    type: "POST",
    url: requestUrl,
    data: JSON.stringify(obj),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        alert(response.d);
        document.getElementById("generatedPreview").innerHTML = response.d;
    },
    failure: function () {
        alert('Failed')
    }
});
}