我需要向服务器发送50个字节的数据并接收200个字节作为响应 没有重新加载页面。 我该怎么做??什么是最流行的浏览器方式??
答案 0 :(得分:2)
如果您不想使用图书馆,请查看this page。很好的信息,使你的ajax调用跨浏览器。
并且,如果数据是二进制的,encode it
这是从ajax for N00bs逐字复制的片段(我强烈建议您不仅要阅读该帖子,还要阅读该网站中的所有帖子):
function callback(serverData, serverStatus) {
alert(serverData);
}
// Called automatically when we get data back from server
// Display an alert box with the recieved data
function ajaxRequest() {
var AJAX = null;
// Initialize the AJAX variable.
if (window.XMLHttpRequest) {
// Does this browser have an XMLHttpRequest object?
AJAX=new XMLHttpRequest();
// Yes -- initialize it.
} else {
// No, try to initialize it IE style
AJAX=new ActiveXObject("Microsoft.XMLHTTP"); // Wheee, ActiveX, how do we format c: again?
}
// End setup Ajax.
if (AJAX==null) {
// If we couldn't initialize Ajax...
alert("Your browser doesn't support AJAX."); // Sorry msg.
return false
// Return false, couldn't set up ajax
}
AJAX.onreadystatechange = function() {
// When the browser has the request info..
if (AJAX.readyState==4 || AJAX.readyState=="complete") { // see if the complete flag is set.
callback(AJAX.responseText, AJAX.status);
// Pass the response to our processing function
}
// End Ajax readystate check.
}
var url='http://somedomain.com/getdata.php?doc=sometext.txt'; // This is the URL we will call.
AJAX.open("GET", url, true);
// Open the url this object was set-up with.
AJAX.send(null);
// Send the request.
}
答案 1 :(得分:1)
最简单的方法是使用jQuery:http://api.jquery.com/jQuery.get/
如果您需要的代码非常小,您可以自己设置AJAX请求。虽然大多数用户都使用jQuery进行缓存(使用Google源代码),但应该对负载产生最小的影响。