我正在尝试一些面向对象的 jQuery,但我还没有走远。我创建了两种方法;
DoConnect
-> AJAX 请求检查 URL 是否可用。callback(true)
如果连接成功,callback(false)
如果失败。Connect
-> 从需要调用的任何地方调用。
什么有效?
DoConnect
尝试连接到主机并发送一个callback
. 这工作得很好。
Connect
读到这个callback
,也工作正常。(我通过添加alert
返回callback
的布尔值对此进行了测试)
什么没有?
好吧,Connect
读取callback
and has toreturn
一个值到它首先被调用的地方。
我到目前为止的代码
类和Connect
方法
var Class =
{
Connect : function(host, apikey)
{
var returnVal;
DoConnect(host, apikey, function(res)
{
if (res)
{
// alert('TRUE');
returnVal = true;
}
else
{
// alert('FALSE');
returnVal = false;
}
});
return returnVal;
}
}
DoConnect
方法_
var DoConnect = function(host, apikey, callback)
{
$.ajax({
type: 'GET',
url: host + "/api?do=ping&" + apikey,
dataType: 'jsonp',
success: function(e)
{
if (e.status != undefined)
{
callback(false);
}
else
{
callback(true);
}
}
});
}
我这样称呼它;
var IsConnected = Class.Connect(host, apikey);
alert(IsConnected) // Returns undefined.
Chrome 的调试控制台不返回任何错误。我在这里做错了什么?