javascript - 使用 AJAX 的 POST 文件数据附加未知的 jquery 回调字符串

标签 javascript jquery ajax blob textblob

我正在构建一个配置文件 Web 编辑器,它允许用户在文本区域中编辑设置,将内容转换为 Blob 文件,然后将数据 POST 到远程 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>

最佳答案

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

如果您不希望这样(并且您的代码的所有内容都表明您不希望这样),请不要使用 JSONP。这是一个可怕的黑客攻击,存在安全风险,已被 CORS 取代。十多年前。

关于javascript - 使用 AJAX 的 POST 文件数据附加未知的 jquery 回调字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61562196/

相关文章:

javascript - 通过 http 调用等读取 html 页面的 DOM

javascript - 如何从 map 返回默认值?

jquery - 缩放图像并保持其比例

jquery - 将 live() 替换为 on()

javascript - stuts2 Action 和 jquery ajax

javascript - 从 Chrome 扩展 AJAX 加载页面运行注入(inject)的 JS 函数

javascript - 保留下一页的下拉选项

jquery - 如果快速点击日历月,datePicker onMonthChange 和 beforeShowDay getJSON 请求无法跟上

javascript - AJAX 响应 XML 错误

javascript - 使用 getElementById() 获取 ngrepeat $index