如何在javascript中实现此数据传输?

时间:2011-05-15 16:35:21

标签: javascript ajax

我需要向服务器发送50个字节的数据并接收200个字节作为响应  没有重新加载页面。  我该怎么做??什么是最流行的浏览器方式??

2 个答案:

答案 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源代码),但应该对负载产生最小的影响。