我在Laravel有一个项目,我尝试使用Javascript SDK与spid-api合作。我正在使用cdn作为api:
<script type="text/javascript" src="http://cdn.spid.se/sdk/spid-sdk-2.1.0-amd.js"></script>
然后试图像这样启动它:
$(document).ready(function(){
// Add event subscribers
SPiD.event.subscribe('SPiD.login', function(data) { console.log(data); });
SPiD.event.subscribe('SPiD.logout', function(data) { console.log(data); });
SPiD.event.subscribe('SPiD.sessionChange', function(data) { console.log(data); });
//Initiate SDK
SPiD.init({
client_id: 'myClientId',
server: 'https://payment.schibsted.no'
});
// Check session
SPiD.hasSession();
});
但我明白了:
spid-sdk-2.1.0-amd.js:1未捕获的ReferenceError:define不是 defined(...)(匿名函数)@spid-sdk-2.1.0-amd.js:1 spid.js:4 未捕获的ReferenceError:未定义SPiD(...)
我在这里读到,它是因为我使用的是require.js。如何才能使两者都没有错误?
答案 0 :(得分:1)
documentation lists a number of hosting options。
您已选择AMD选项,但未在AMD环境中运行代码。 (如果你是,将定义define
。)
使用另一个(您可能需要“常规全局变量版本”)。
我在这里读到,这是因为我使用的是require.js。
没有。 Require.JS提供AMD环境。它不起作用,因为不使用Require.JS(至少,在您尝试加载AMD依赖脚本时,您可能只需要重新排列{{1} }元素,所以在加载之前不要尝试使用<script>
。