带有AJAX的POST文件数据将附加未知的jquery回调字符串

问题描述 投票:0回答:1

我正在构建一个配置文件Web编辑器,它使用户可以在文本区域中编辑设置,将内容转换为Blob文件,然后将数据发布到远程API。由于某种原因,它附加了一个随机的回调参数,我不知道它的来源...

http://ipaddr:8080/compile?callback=jQuery341029448751790349491588432312011&=1588432312012

这里是代码的样子。如果有人能指出正确的方向,我将不胜感激。

<script>
    $(document).ready(function() {

        $('#btnCompile').click(function(event) {

            // Convert TextArea contents to a Blob file
            var configText = $('#configuration').val();
            configText = configText.replace(/\n/g, "\r\n"); // retain line breaks

            var configFile = new Blob([configText], { type: "text/plain" });

            var documentData = new FormData();
            documentData.append('file', configFile, "configuration.cpp");

            $.ajax({
                url: "http://ipaddr:8080/compile",
                method: "POST",
                data: documentData,
                dataType: 'jsonp',
                crossDomain: true,
                cache: false,
                contentType: false,
                processData: false,
                success: function(data, textStatus, jqXHR)
                {
                    alert('success: ' + textStatus);
                },
                error: function(jqXHR, textStatus, errorThrown)
                {
                    alert('error status: ' + textStatus + ' error message: ' + errorThrown);
                }
            });
        });
    });

</script>
javascript jquery ajax blob textblob
1个回答
1
投票

您说过dataType: 'jsonp',因此您的请求受JSONP的限制(包括是GET请求,将数据放入查询字符串,添加回调参数以及无法设置自定义请求标头)。] >

[如果您不想要那样(并且代码中的所有内容都表明您不想要),请不要使用JSONP。这是一种具有安全风险的可怕骇客,十年前被CORS取代。

© www.soinside.com 2019 - 2024. All rights reserved.