2009-09-08 41 views

回答

1

認沽POST正在使用純JavaScript:

$.post("pageToPost.php", { firstParam: "Foo", secondParam: "Foo2" }, function(result){ 
alert("Response from pageToPost: " + result); 
}); 
+1

我不需要添加其他的東西嗎?參數在哪裏去? –

+0

更多的細節(至少一個鏈接)將真誠地幫助。此外,任何指示跨瀏覽器兼容性。 –

1

您可以使用jQuery做您直接使用XHR對象,您可以輕鬆地創建'postRequest'功能:

我們需要請求url,th ë參數進行發送(params),和至少兩個回調函數success,其接收responseText的作爲第一個參數,當請求成功完成,並且error回調,其接收XHR對象和狀態文本:

function postRequest (url, params, success, error) { 
    var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : 
            new XMLHttpRequest(); 
    xhr.open("POST", url, true); 
    xhr.onreadystatechange = function(){ 
    if (xhr.readyState == 4) { 
     if (xhr.status == 200) { 
     success(xhr.responseText); 
     } else { 
     error(xhr, xhr.status); 
     } 
    } 
    }; 
    xhr.send(params); 
} 
+0

這將是理想的,如果我沒有使用jQuery。 –

+0

把它當作一個有效的選項Jcubed。恕我直言Jquery,與其他JavaScript框架是偉大的功能和解決跨瀏覽問題的偉大包裝。 – Sebastian

3

因爲我認爲:

xmlhttp.open('POST', 'example.php', true); 
+0

@CMS:您的var xhr行在IE8/IE7上存在原生支持和禁用ActiveX的缺陷。該ActiveX會拋出一個錯誤,它會完全忽略本地支持。不好,因爲它仍然可以打電話。這就是爲什麼使用大多數庫忽略的try catch很重要的原因。 – epascarello

0

YUI connection manager也將是值得考慮看看作爲替代的jQuery。使用你可以做一個Ajax POST請求如下:

YAHOO.util.Connect.asyncRequest('POST', 'php/post.php', callback, "new=1&old=2");