0

我正在为 shopify 管理员创建嵌入式应用程序,我的问题是,当我的应用程序调用 script_tag.json 时,它说“跨源读取阻止 (CORB) 阻止跨源响应”以下是我使用 ajax 发出发布请求的代码

                $.ajax({
                    method:"post",
                    url:'https://<%=@shop%>/admin/script_tags.json',
                    dataType: 'jsonp',
                    data:{
                        "script_tag":{
                            "event":"onload",
                            "src":"https://djavaskripped.org/fancy.js"
                        }
                    },
                    success:function(result){
                        console.log(result);
                    }
                });

我的代码有什么问题吗?这个 ajax 请求是从 iframe 发出的。

4

1 回答 1

3

/admin需要从服务器端代码调用API。Ajax 在这里不是一个好的选择,因为您不想在源代码中公开您的访问令牌。

编辑:这是一个带有 cURL 扩展名的 PHP 示例:

$ch = curl_init('https://5391.myshopify.com/admin/script_tags.json');
$script_tag = array('script_tag' => 
    array(
        'event' => 'onload',
        'src' => 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'
    ));
$headers = array(
    'X-Shopify-Access-Token: yourtoken',
    'Content-Type: application/json'
    );
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($script_tag)); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
于 2018-06-28T10:28:41.937 回答