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>

发送的header:

在ABAP backend观察到的content type:

form fields:

request payload body:


sendData to ABAP backend via multiple form content type相关推荐

  1. Posted content type isn't multipart/form-data

    版权声明:欢迎转载,请注明沉默王二原创. https://blog.csdn.net/qing_gee/article/details/48712507 在有文件上传的表单提交过程中,搞不好就会报Po ...

  2. 用VS向SharePoint中部署添加List 并指定应用的Content Type

    在SharePoint Project中添加相应的Item,完全用界面的形式向EricSunArticlesList中添加好对应的Column,之后用Feature将List添加到SharePoint ...

  3. Transformation available that removes all elements from form message type

    The elements which are used in the form message type for a specific form can be classfied as four ty ...

  4. restTemplate http请求报错:no suitable HttpMessageConverter found for response type and content type

    报错信息: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no sui ...

  5. Maven报错解决:Element 'dependency' cannot have character [children], because the type's content type is

    在用maven的时候遇到报错: Element 'dependency' cannot have character [children], because the type's content ty ...

  6. Spring Boot——[Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]解决方案

    问题描述 2020-02-13 19:32:04.322 WARN 109508 --- [p-nio-80-exec-4] .m.m.a.ExceptionHandlerExceptionResol ...

  7. : Content type 'text/plain;charset=UTF-8' not supported

    : Content type 'text/plain;charset=UTF-8' not supported

  8. eclipse 设置 content type 编码格式

    前言 Eclipse Version: 2019-12 (4.14.0) 操作 打开Preferences.菜单路径为:Window–> Preferences 在搜索框中输入:content ...

  9. 阿里云存储OSS中设置上传文件content type

    阿里云存储OSS中设置上传文件ContentType 如果你使用浏览器上传文件,则浏览器会自动在header中设置正确地content type,然后对文件的访问会得到正确地回应. 如果采用编程的方式 ...

最新文章

  1. 如何配置Microsoft LoopBack Adapter 配置为系统的主网络适配器
  2. ASP.NETMVC View页面 序列化 c# Model 为 Json字符串
  3. idea创建mybatis的config.xml和mapper.xml方法
  4. Java反射 - 2(对象复制,父类域,内省)
  5. Android ListView重写Adapter
  6. CTF- Reverse迷宫题类型方法特征讲解
  7. C#——银行ATM程序DEMO
  8. SpringCloud SpringBoot 推荐
  9. .NET Core中文分词组件jieba.NET Core
  10. 从贪心选择到探索决策:基于强化学习的多样性排序
  11. TIOBE 6月编程语言排行榜:Python势不可挡
  12. 「翻版王攀」?深大研究生控诉导师不让毕业:读研三年,猪狗不如
  13. Django-Rest-Framework
  14. Mac OS X 背后的故事(三)Mach之父Avie Tevanian
  15. fprintf函数matlab,fprintf函数的运用(组图)
  16. web服务器性能排名,主流Web服务器性能测试
  17. Word无法打开文件,因为文件格式与文件扩展名不匹配
  18. 1004: 惠民工程 (2013年中南大学研究生复试机试 )
  19. Shell中显示彩色二维码
  20. 2016年全国计算机一级成绩查询时间,2016年3月计算机一级考试成绩什么时候出来...

热门文章

  1. UNIX操作-命令快捷键
  2. C#中利用Socket实现网络语音通信[初级版本]
  3. 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码)
  4. XGBoost算法概述
  5. Django从理论到实战(part2)--virtualenvwrapper
  6. 2022年版955不加班公司名单!
  7. SAP UI5 初学者教程之八 - 多语言的支持试读版
  8. 如何在源代码(而非库文件)模式下构建并且运行 SAP Spartacus
  9. 一个基于ngrx的计数器例子 单步调试搞清楚原理
  10. Angular的built-in指令