我正在尝试使用Meteor.http.call发送短信。我遇到两个错误:
第一个错误:当页面加载时," WebSocket连接到 ' WS://本地主机:3000 / sockjs / 632 / i0uapg48 /网页套接字'失败:WebSocket 在建立连接之前关闭。"
第二个错误:当我点击ebultenkydet时," Uncaught TypeError:不能 阅读财产'来电'未定义"
Template.footerLayout.events({
'click #ebultenkaydet': function(e, template) {
var auth_url="http://api.sorentesms.com/index.php"
var result = Meteor.http.call("POST", auth_url, {
data: {
'apiNo':'1',
'user':'test',
'pass':'test123',
'message':'hi',
'number':'+905075587***',
'from':'test',
},
headers: {
"content-type":"application/json",
"Accept":"application/json"
},
})
}
});
你能帮我解决一下吗?
谢谢大家
答案 0 :(得分:1)
您正在客户端块内发送您的http请求,Meteor.http
仅在服务器端可用。您必须将此块放在Meteor.isServer块中。
不要忘记meteor add http
能够使用代码:
让我重写你的代码:
if (Meteor.isServer) {
Meteor.methods({
authCall: function () {
this.unblock(); // Make sure server doesn't get block from this call
var auth_url="http://api.sorentesms.com/index.php";
return Meteor.http.call("POST", auth_url, {
data: {
'apiNo':'1',
'user':'test',
'pass':'test123',
'message':'hi',
'number':'+905075587***',
'from':'test',
},
headers: {
"content-type":"application/json",
"Accept":"application/json"
},
})
}
});
}
Template.footerLayout.events({
'click #ebultenkaydet': function(e, template) {
Meteor.call("authCall", function(error, results) {
console.log(results); //results.data should be a JSON object
});
});