希望使用jQuery和Ajax get请求在我的Tropo帐户上放置一个触发简单SMS脚本的按钮。该按钮不需要打开任何东西,只需触发 Tropo 脚本 (JS) 即可发送短信。
在 Tropo 上给出的带有令牌的 URL 是:http://api.tropo.com/1.0/sessions?action=create&token=foo
触发时,关于 URL 会发送一条短信,说:"晚餐准备好了"。
我在html中有一个按钮:晚餐
在我的 HTML 中,我链接到一个外部 js:
$("#myButton").click( function(e) {
e.preventDefault();
$.get("http://api.tropo.com/1.0/sessions?action=create&token=foo", function( data ) {
console.log( data );
});
});
此操作不会成功,并且不会触发任何控制台错误。希望得到一些见解。
我认为您正在尝试从跨域服务中获取数据,根据同源策略,您无法这样做。你可以这样尝试:
$("#myButton").click( function(e) {
e.preventDefault();
$.ajax({
url: 'http://api.tropo.com/1.0/sessions?action=create&token=foo',
dataType: 'jsonp',
success: function(data) {
console.log( data );
}
});
});
如前所述,这可能是从跨域服务获取数据的问题。JSONP可以解决这个问题,但我不确定Tropo的API是否适用于JSONP。 我在文档或用户论坛中找不到任何提及它的内容。 如果JSONP不起作用,那么您需要向服务器发送消息,并使用一些服务器端代码调用Tropo的WebAPI来发送SMS消息。