0
其實,我有2個問題:以下2個代碼片段沒有問題;XUL或mozBackgroundRequest中的jQuery Ajax?
第一個片段是jQuery ajax請求。即使它是跨域請求,它也可以工作。我的第一個問題是,同樣的原產地政策發生了什麼變化,爲什麼這樣工作?
var jsLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].
getService(Components.interfaces.mozIJSSubScriptLoader);
jsLoader.loadSubScript("chrome://yuceel/content/jquery-1.6.2.js");
jQuery.noConflict();
jQuery.post("http://example.com/xMessages/index.php/main/ajax_get_something",
{ "p1":"parameter1","p2":"parameter2"},
function(data){
alert(data);
});
第二個片段是XMLHttpRequest。我一直在使用它,但我不知道哪一個有更多的表現?對於小文本內容,我的應用程序將每3秒執行一次請求。我應該更喜歡使用jQuery Ajax而不是這個嗎?
postRequest:function(url, params, onload, onerror){
var xhr = null;
try {
xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
xhr.mozBackgroundRequest = true;
xhr.onload = function(event) {onload(xhr);}
xhr.onerror = function(event) {onerror(xhr);}
xhr.open('POST', url, false);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(Server.urlencode(params));
} catch (e) {
onerror(xhr);
}
return xhr;
}