使用js / jquery时如何正确使用pdflayer的document_html?

How to use document_html with pdflayer properly when using js / jquery?

我正在尝试使用 pdflayer api 创建 pdf 文件。我能够使用 document_url 但需要使用 document_html 才能获得所需的输出。我正在使用 ajax post 发送请求,但每次都显示未提供文档源时失败。我尝试了以下代码的不同变体以使其被接受。尝试在下面传递访问密钥,但它无法识别它,因为它没有我的任何其他参数:

$.ajax({
            type: "POST",
            url: "https://api.pdflayer.com/api/convert?access_key=***",
            formData: {
                contentType: "application/x-www-form-urlencoded",
                document_html: html,
                page_size: 'A4',
                test: 1,
                encoding: null,
            },
            success: function (response) {
                console.log(response);
            },
            failure: function (response) {
                alert(response);
            }
        });

另一个的替代方案:

var html = $('.pdfcontainer').html();
        var data = new FormData();
        data.append("access_key", "***");
        data.append("document_html", html);
        data.append("page_size", "A4");
        data.append("test", 1);
        $.ajax({
            type: "POST",
            url: "https://api.pdflayer.com/api/convert",
            contentType: "application/x-www-form-urlencoded",
            processData: false,
            data: data,
            success: function (response) {
                console.log(response);
            },
            failure: function (response) {
                alert(response);
            }
        });

输出日志显示:

当我将访问密钥放入查询字符串时 ->

{
    "success": false,
    "error": {
        "code": 313,
        "type": "missing_document_source",
        "info": "You have not specified a document source. Please use either document_url or document_html."
    }
}

如果访问键不在查询字符串中 ->

{
    "code": 101,
    "type": "missing_access_key",
    "info": "You have not supplied an API Access Key. [Required format: access_key=YOUR_ACCESS_KEY]"
}

我尝试使用 formData,我尝试在没有它的情况下传递值,我尝试只将 html 放在里面,其他所有东西都放在外面,我尝试把所有东西都放在查询字符串中,只把 html 放在形式,没有任何作用。

我设法通过 Postman 将正文中的 document_html 参数设置为表单数据来发送请求:

希望这对您有所帮助。