2009-09-08 37 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");