需求:做的一个项目是BS架构,通过浏览器访问服务端页面,但是有个需求是C端用户电脑上安装了税务的一个CS客户端软件,需要访问CS客户端的http服务才能获取到本地数据,而且是有20个C端用户有这种需求,于是就有了js如何发起http请求,以及如何获取返回值等技术问题产生。
在 JavaScript 中发起 HTTP 请求可以使用 XMLHttpRequest 对象,可以指定是POST、GET、可以指定Content-Type,是XML还是json,传输数据用.sed方法,注意一下传输JSON数据,需要用JSON.stringify方法转换一下,以下为代码实例
function getLocalData () {
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://127.0.0.1:8089/api/Skfp/invoke', true);
xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8");
xhr.onload = function() {
if (this.status == 200) {
}
console.log(xhr.responseText);
console.log("成功返回"+this.status);
};
xhr.send(
JSON.stringify({"Data":"9","InterfaceCode":"Invoice"})
);
};