拒绝执行脚本并启用严格的 MIME 类型检查

Posted

技术标签:

【中文标题】拒绝执行脚本并启用严格的 MIME 类型检查【英文标题】:Refused to execute script and strict MIME type checking is enabled 【发布时间】: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 发送请求,它会正常工作而不会出错 【参考方案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。

以上是关于拒绝执行脚本并启用严格的 MIME 类型检查的主要内容,如果未能解决你的问题,请参考以下文章

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

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

拒绝执行脚本,启用严格的 MIME 类型检查?

拒绝从 '*' 执行脚本,因为它的 MIME 类型 ('application/json') 不可执行,并且启用了严格的 MIME 类型检查

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

拒绝从 URL 执行脚本,因为它的 MIME 类型 ('application/json') 不可执行,并且启用了严格的 MIME 类型检查