【问题标题】:Refused to execute script and strict MIME type checking is enabled拒绝执行脚本并启用严格的 MIME 类型检查
【发布时间】:2021-05-30 03:07:56
【问题描述】:

我被拒绝执行脚本,因为 MIME 类型 ('text/html') 不可执行,并且启用了严格的 MIME 类型检查。

当我使用 php curl 和 JavaScript 集成万事达卡时,虽然没有出现错误。

    function errorCallback(error) {
        console.log(JSON.stringify(error));
    }
    
    function cancelCallback() {
        console.log('Payment cancelled');
    }
    
    var configs = {
        merchant: '<?php echo $merchant; ?>',
        session: {
            "id": '<?php echo $sessionid; ?>',
        },
        order: {
            "amount": '<?php echo $amount; ?>',
            "currency": '<?php echo $currency; ?>',
            "id": '<?php echo $orderid; ?>',
        },
        interaction: {
            "operation": "PURCHASE",
            "merchant": {
                "name": "abc",
                "address": {
                    "line1": "town",
                    "line2": "city"
                }
            }
        }
    };
    
    Checkout.configure(configs);

【问题讨论】:

  • 兄弟你找到解决这个问题的方法了吗?
  • 使用 jQuery ajax 代替 php 发送请求,它会正常工作而不会出错

标签: javascript php payment-gateway payment mastercard


【解决方案1】:

默认情况下,PHP 会告诉浏览器它正在向它发送 HTML。

如果您正在编写一个 PHP 程序来发送其他内容(例如 JSON、XML 或 JavaScript),那么您需要使用 header() function 用正确的 Content-Type 覆盖默认值。

例如

header("Content-Type: text/javascript");

【讨论】:

    【解决方案2】:

    使用 jquery ajax 代替 php curl 没有发现问题

    【讨论】:

    • 虽然这是一个自我回答,但您没有提供任何关于您如何完成此操作的指示代码,请更新此答案以显示您所做的事情,我更建议您删除问题,因为它不再与您如何实现代码相关,并且没有可接受的答案。
    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2017-03-27
    • 2018-07-15
    • 2017-10-02
    • 2020-08-27
    • 2020-06-30
    • 2018-09-30
    • 2018-09-20
    • 2020-04-23
    相关资源
    最近更新 更多