我正在嘗試一下面向對象的jQuery,但我並沒有走得太遠。 我創建了兩種方法;jQuery Mobile功能不返回(OO)
DoConnect
- > AJAX請求檢查URL是否可用。callback(true)
如果連接成功,callback(false)
如果它 失敗。Connect
- >從哪裏調用它需要被調用。
什麼行得通?
DoConnect
嘗試連接到主機併發送callback
。這工作得很好。 Connect
讀這個callback
,也工作正常。 (我測試了這個,加入alert
返回callback
的布爾值)
什麼不?
好,Connect
讀取callback
並有return
值到它被稱爲擺在首位。
我的代碼到目前爲止
的類和方法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的調試控制檯沒有返回錯誤。 我在這裏做錯了什麼?
完美。我正在考慮整個呼叫是異步可能形成的問題,但我不知道修復是如此簡單。謝謝。 – Roel 2013-03-02 09:20:51