• javaScript 中的 HTTP 请求 (《javascript 高级程序设计》)


    View Code
      1 if(typeof XMLHttpRequest == "undefined" && window.ActiveXObject){
      2      function XMLHttpRequest(){
      3          var arrSignatures = ["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0",
      4                              "MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP",
      5                              "Microsoft.XMLHTTP"];
      6          for(var i=0; i < arrSignatures.length; i++){
      7              try{
      8                  var oRequest = new ActiveXObject(arrSignatures[i]);
      9                  return oRequest;
     10              } catch ( oError ){
     11                  //ignore
     12              }
     13          }
     14          throw new Error("MSXML is not installed on your system.");
     15      }
     16  }
     17  
     18  
     19  function addURLParam(sURL,sParamName,sParamValue){
     20      sURL += (sURL.indexOf("?") == -1 ? "?" : "&");
     21      sURL += encodeURIComponent(sParamName) + "=" + encodeURIComponent(sParamValue);
     22      return sURL;
     23  }
     24  
     25  function addPostParam(sParams, sParamName, sParamValue){
     26      if(sParams.length > 0 ){
     27          sParams += "&";
     28      }
     29      return sParams + encodeURIComponent(sParamName) + "=" + encodeURIComponent(sParamValue);
     30  }
     31  
     32  function httpGet(sURL){
     33      var oURL = new java.net.URL(sURL);
     34      var oStream = oURL.openStream();
     35      var oReader = new java.io.BufferedReader(new java.io.InputStreamReader(oStream));
     36      var sResponseText = "";
     37      
     38      var sLine = oReader.readerLine();
     39      while (sLine != null){
     40          sResponseText += sLine + "\n";
     41          sLine = oReader.readerLine();
     42      }
     43      
     44      oReader.close();
     45      return sResponseText;    
     46  }
     47  
     48  function httpPost(sURL, sParams){
     49      var oURL = new java.net.URL(sURL);
     50      var oConnection = oURL.openConnection();
     51      
     52      oConnection.setDoInput(true);
     53      oConnection.setDoOutput(true);
     54      oConnection.setUseCaches(false);
     55      oConnection.setRequestPorperty("Content-Type","application/x-www-form-urlencodeded");
     56      
     57      var oOutput = new java.io.DataOutputStream(oConnection.getOutputStream());
     58      oOutput.writeBytes(sParam);
     59      oOutput.flush();
     60      oOutput.close();
     61      
     62      var sLine = "",sResponseText = "";
     63      var oInput = new java.io.DataInputStream(oConnection.getInputStream());
     64      sLine = oInput.readLine();
     65  
     66      while(sLine != null){
     67          sResponseText += sLine + "\n";
     68          sLine = oInput.readLine()
     69      }
     70  }
     71  
     72  var bXmlHttpSupport = (typeof XMLHttpRequest == "Object" || window.ActiveXObject);
     73  var Http = new Object;
     74  Http.get = function(sURL, fnCallback){
     75      if(bXmlHttpSupport){
     76          var oRequest = new XMLHttpRequest();
     77          oRequest.open("get",sURL,true);
     78          oRequest.onreadystatechange = function(){
     79              if(oRequest.readyState == 4){
     80                  fnCallback(oRequest.responseText);
     81              }
     82          }
     83          oRequest.send(null);
     84      }else if(navigator.javaEnabled() && typeof java != "undefined" && typeof java.net != "undefined"){
     85          setTimeout(function(){
     86              fnCallback(httpGet(sURL));
     87          },10);
     88      } else {
     89          alert("Your browser doesn't support HTTP requests.")
     90      }
     91  }
     92  
     93  Http.post = function(sURL,sParams,fnCallback){
     94      if(bXmlHttpSupport){
     95          var oRequest = new XMLHttpRequest();
     96          oRequest.open("post",sURL,true);
     97          oRequest.setRequestHeader("COntent-Type","application/x-www-form-urlencoded");
     98          oRequest.onreadystatechange = function(){
     99              if(oRequest.readyState == 4){
    100                  fnCallback(oRequest.requestText);
    101              }
    102          }
    103          oRequest.send(sParams);
    104      }else if(navigator.javaEnabled() && typeof java != "undefined" && typeof java.net != "undefined"){
    105          setTimeout(function(){
    106              fnCallback(httpPost(sURL,sParams));
    107          }, 10);
    108      }else{
    109          alert("Your browser doesn't support HTTP requests.");
    110      }
    111  }
    112  
    113  var sURL = "http://www.somewhere.com/page.php";
    114  var sparams = "";
    115  sParams = addURLParam(sParams,"name","Nicholas");
    116  oHttp.post(sURL,function(sData){
    117      alert("server sent back: " + sData);
    118  })
    119  
    120  
    121  var sURL = "http://www.somewhere.com/page.php";
    122  var sparams = "";
    123  sParams = addPostParam(sParams,"name","Nicholas");
    124  oHttp.post(sURL,function(sData){
    125      alert("server sent back: " + sData);
    126  })
  • 相关阅读:
    单位根反演学习笔记
    省选模拟测试17
    省选模拟测试16
    省选模拟测试15
    省选模拟测试14
    省选模拟测试13
    P4491 [HAOI2018]染色
    省选模拟测试12
    P4389 付公主的背包
    洛谷P3403
  • 原文地址:https://www.cnblogs.com/duanqiao/p/2946377.html
Copyright © 2020-2023  润新知