sendData to ABAP backend via multiple form content type

简介: Created by Jerry Wang, last modified on Aug 20, 2014

使用multipart/form-data的content type通过Javascript向application server发送数据:

<html>
<head>
<script type="text/javascript">
if (!XMLHttpRequest.prototype.sendAsBinary) {
  XMLHttpRequest.prototype.sendAsBinary = function(sData) {
    var nBytes = sData.length, ui8Data = new Uint8Array(nBytes);
    for (var nIdx = 0; nIdx < nBytes; nIdx++) {
      ui8Data[nIdx] = sData.charCodeAt(nIdx) & 0xff;
    }
    this.send(ui8Data);
  };
}
var xmlhttp;
function GetXmlHttpObject()
{
    if (window.XMLHttpRequest) {
       return new XMLHttpRequest();
    }
    if (window.ActiveXObject) {
       return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}
function stateChanged()
{
   if (xmlhttp.readyState == 4) {
       document.getElementById("result").innerHTML = xmlhttp.responseText;
       document.getElementById("result").style.border = "1px solid #A5ACB2";
  }
}
function getRequestURL(str)
{
    var url = "<host:port>" + str;
    url = url + "&sid=" + Math.random();
    return url;
}
function showResult(str)
{
if (str.length == 0 ) {
  document.getElementById("result").innerHTML = "";
  document.getElementById("result").style.border = "0px";
  return;
}
xmlhttp = GetXmlHttpObject();
if (xmlhttp == null ){
  alert ("Your browser does not support XML HTTP Request");
  return;
  }
var requesturl = getRequestURL(str);
xmlhttp.onreadystatechange = stateChanged ;
if ("withCredentials" in xmlhttp) {
 console.log("Great!!!!!");
}
xmlhttp.open("POST",requesturl,true);
xmlhttp.setRequestHeader("Content-Type", "multipart\/form-data");
var data = [];
var firstName = "firstName";
var firstNameValue = "Jerry";
var lastName = "lastName";
var lastNameValue = "Wang";
data.push( "Content-Disposition: form-data; name=\"" + firstName + "\"\r\n\r\n" + firstNameValue + "\r\n"); 
data.push( "Content-Disposition: form-data; name=\"" + lastName + "\"\r\n\r\n" + lastNameValue + "\r\n"); 
var sBoundary = "---------------------------" + Date.now().toString(16);
xmlhttp.setRequestHeader("Content-Type", "multipart\/form-data; boundary=" + sBoundary);
var sendStream = "--" + sBoundary + "\r\n" + data.join("--" + sBoundary + "\r\n") + "--" + sBoundary + "--\r\n";
xmlhttp.sendAsBinary(sendStream);
}
</script>
</head>
<body>
<input type="text" id="fname" onkeyup="showResult(this.value)" />
<div id = "result" ></div>
</body>
</html>

image.pngimage.pngimage.pngimage.png

相关文章
|
7月前
关于 SAP ABAP 里的锁类型 Lock Type
关于 SAP ABAP 里的锁类型 Lock Type
30 0
|
8月前
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
68 1
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
SAP ABAP——数据类型(四)【TYPE系列关键字】
本文主要介绍一下SAP ABAP中的声明数据类型的TYPE系列关键字,主要包括了TYPE、TYPE TABLE OF、TYPE LINE OF、TYPE REF TO
573 0
SAP ABAP——数据类型(四)【TYPE系列关键字】
|
XML Java 数据格式
ABAP的数据字典DDIC和Hybris Commerce的类型系统Type system
ABAP的数据字典DDIC和Hybris Commerce的类型系统Type system
120 0
ABAP的数据字典DDIC和Hybris Commerce的类型系统Type system
ABAP COMMIT WORK关键字在CRM content management应用里的使用场景
Sent: Friday, November 29, 2013 4:14 PM Subject: 关于content management的commit work
107 0
ABAP COMMIT WORK关键字在CRM content management应用里的使用场景
|
XML 数据格式
Hybris里类似ABAP Netweaver的DDIC - 如何做data type的extension
Hybris里类似ABAP Netweaver的DDIC - 如何做data type的extension
100 0
Hybris里类似ABAP Netweaver的DDIC - 如何做data type的extension
|
JavaScript 前端开发
sendData to ABAP backend via multiple form content type
sendData to ABAP backend via multiple form content type
sendData to ABAP backend via multiple form content type
获得ABAP report里定义的所有变量及type - GET_GLOBAL_SYMBOLS
获得ABAP report里定义的所有变量及type - GET_GLOBAL_SYMBOLS
115 0
SAP ABAP OData uri type为metadata的请求处理逻辑
SAP ABAP OData uri type为metadata的请求处理逻辑
94 0
SAP ABAP OData uri type为metadata的请求处理逻辑

热门文章

最新文章