js发送https请求问题处理总结

简介: js发送https请求问题处理总结

问题1

1.浏览器端无法发送https请求的时候

使用nginx进行转发,具体配置比较简单

31fa87f50a5f4eaf960efd67c940ee19.png

问题2:

构建表单传送数据,提示缺失必要的参数。

{ “error” : “invalid_request”, “error_description” : “Missing grant type” }

if(window.XMLHttpRequest){

   //code for all new browsers

   xmlHttp = new XMLHttpRequest;

  }

  else if(window.ActiveXObject){

   //code for IE5 and IE6

   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

  }

  //判断是否支持请求

  if(xmlHttp == null){

   throw new Error("浏览器不支持xmlHttp");

  }

  xmlHttp.open("POST", "http://127.0.0.1:8899/oauth/token", false);

 //---------- 请求头信息 ------------------

 //xmlHttp.setRequestHeader("Authorization", "1");

 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

 console.log(JSON.stringify(obj))

 //入参报文

 xmlHttp.send("表单串");

 //请求完成并且成功返回

 if(xmlHttp.readyState==4 && xmlHttp.status==200){

  var sendResult = xmlHttp.responseText;

  alert(sendResult)

  //返回给格式化后JSON

  return JSON.parse(alert(sendResult));

 }else{

  console.log(xmlHttp.status)

  console.log(xmlHttp.statusText)

  var resultMsg = xmlHttp.statusText?xmlHttp.status+"-"+xmlHttp.statusText: xmlHttp.responseText;

  throw new Error("调用失败:" + resultMsg);

 }

1、请求头的设置,如果是发送表单数据需要设置请求头这样

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

2、如果发送表单数据,js可以使用下边的方式构建

s = name=value&name1=value&...

发送直接发送构造的串

xmlHttp.send(s);


相关文章
|
3月前
|
JavaScript 前端开发 开发者
Nest.js控制器深度解析:路由与请求处理的高级特性
以上就是对 NestJS 控制层高级特性深度解析:从基本概念到异步支持再到更复杂场景下拦截其与管道等功能性组件运用都有所涉及,希望能够帮助开发者更好地理解和运用 NestJS 进行高效开发工作。
330 15
|
6月前
|
JavaScript 前端开发 API
Node.js中发起HTTP请求的五种方式
以上五种方式,尽管只是冰山一角,但已经足以让编写Node.js HTTP请求的你,在连接世界的舞台上演奏出华丽的乐章。从原生的 `http`到现代的 `fetch`,每种方式都有独特的风格和表现力,让你的代码随着项目的节奏自由地舞动。
626 65
|
7月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
684 20
|
9月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
缓存 JavaScript 中间件
优化Express.js应用程序性能:缓存策略、请求压缩和路由匹配
在开发Express.js应用时,采用合理的缓存策略、请求压缩及优化路由匹配可大幅提升性能。本文介绍如何利用`express.static`实现缓存、`compression`中间件压缩响应数据,并通过精确匹配、模块化路由及参数化路由提高路由处理效率,从而打造高效应用。
524 95
|
JavaScript
Node.js GET/POST请求
10月更文挑战第6天
172 2
Node.js GET/POST请求
|
安全 API 网络安全
使用OkHttp进行HTTPS请求的Kotlin实现
使用OkHttp进行HTTPS请求的Kotlin实现
|
缓存 JavaScript CDN
一次js请求一般情况下有哪些地方会有缓存处理?
一次js请求一般情况下有哪些地方会有缓存处理?
161 4
|
JSON JavaScript 前端开发
js请求后端9
js请求后端9
113 2
|
JavaScript Serverless Linux
函数计算产品使用问题之遇到Node.js环境下的请求日志没有正常输出时,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。