2017-04-03 104 views
0

我正在使用Reactjs,我正尝试使用Axios发送POST请求以发送Nexmo的短信。我可以收到短信,但在控制台上出现此错误请求的资源上没有“Access-Control-Allow-Origin”标头。因此,'http://localhost:3000'因此不允许访问。 这里是我的代码:Reactjs - Axios - Nexmo POST请求无法正常工作(No'Access-Control-Allow-Origin')

axios({ 
    method : 'post', 
    url : 'https://rest.nexmo.com/sms/json', 
    params:{ 
    api_key:'xxxxxxxxx', 
    api_secret:'xxxxxxxxx', 
    to:phoneNumber, 
    from:'NEXMO', 
    text:"New message" 
    }, 
    headers:{ 
     'Content-Type': 'application/x-www-form-urlencoded' 
    } 
}) 
.then(function (response) { 
    console.log(response); 
}) 
.catch(function (error) { 
    console.log(error); 
}); 

我该如何解决这个问题? Thx

+0

[“No'Access-Control-Allow-Origin'标头存在于请求的资源中”](http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-头部是在请求的资源) –

+0

@Zoomzoom我面临同样的情况 - 你是如何解决这个问题的? – whodeee

回答

1

Nexmo SMS API只能与受信任和安全的客户端交互。凭借API密钥和密钥凭证,您可以有效访问Nexmo帐户,因此您不应将这些凭据公开给应用程序的“用户”。这通常意味着你应该只使用密钥和秘密凭证与服务器的API。

Nexmo Voice API确实提供了JWT认证支持,它可以更好地适用于客户端API交互,因为您可以创建非常短暂的令牌并控制令牌允许的资源和功能。但是SMS API只提供密钥和秘密认证。

+0

我正试图实现这一点。你能指导我如何开始使用JWT吗? – whodeee