当前位置: 首页 > news >正文

跨域获取后台数据undefined_拨号跨域问题

86aa282e01df09aafe25513cdbe60dc7.png

现象:

  1. 录音拨号未发现录音信息

处理:

  1. 查看ajax函数返回值,录音拨号之后未获取到相关文件信息
  2. 也即是直接使用ajax请求数据,接收到的数据为空
  3. 控制台打印信息:Cross-Origin Read Blocking (CORB) blocked cross-origin responsehttp://192.168.66.3:8080/startdialpassive?channelno=12&telephoneno=10086with MIME type text/plain. Seehttps://www.chromestatus.com/feature/5629709824032768for more details.
  4. 使用封装的senData函数发送请求,请求了两次
  5. 录音拨号时单独地址访问能够获取到信息
  6. 重新安装浏览器工具Orign之后未再报Cross-Origin提示信息

分析:

  1. 返回值不正常,可能是硬件或者其他操作问题,也可能是前端代码问题。
  2. 同上,先从前端入手
  3. 首先,跨域问题,考虑到之前能正常工作,然后出现跨域问题,直接入手浏览器跨域工具,搜索不到可能是过期了,从新下载了一个相关工具。然而得到的结果是没有打印跨域信息仍然访问不到数据
  4. 使用senData函数方式访问,发送两次请求;
    这是因为浏览器对复杂跨域请求的处理,在发送真正的请求前, 会先发送一个方法为OPTIONS的预请求(preflight request), 用于试探服务端是否能接受真正的请求,如果options获得的回应是拒绝性质的,比如404403500等http状态,就会停止post、put等请求的发出。
    三种方式可能引起此种情况:a.请求方法不是GET/HEAD/POST
    b.POST请求的Content-Type并非application/x-www-form-urlencoded,multipart/form-data,或text/plain
    c.请求设置了自定义的header字段
  5. 录音拨号时单独访问能够获取到数据信息

预想:

  1. 可能录音拨号单独地址访问是偶然情况,操作失误,排除方式:查看控制台打印信息
  2. 可能是由于ajax请求配置问题,排除方式:重写ajax配置
  3. 可能是由于跨域问题仍未解决...(虽然重新安装浏览器工具Orign之后未再报Cross-Origin提示信息)

处理:

  1. 拨号,看控制台是否打印信息
  2. 拨号,看直接访问链接是否打印信息
  3. 拨号,切换ajax访问方式,以script获取callback方式测试看是否能获取数据值(jsonp)
  4. 浏览器安装新工具:Moesif Orign & CORS Changer,拨号

结果:1-3失败,4成功,跨域工具失效问题

猜想:

  1. 安装浏览器跨域工具是否具有安全性等负面问题
  2. 同源问题提示 提示(黄色字体) 和 错误(红色字体)有何区别?(如下两图)
  3. 跨域问题,若无法有相应后台配合,例如此次的拨号录音,那么是否就无法解决了

5b1e6fd30b29474ddd5026f971e65c99.png
黄色字体同源提示

5295cc7802c09d57de999e912def2865.png
红色字体同源提示

相关文章:

  • 软件文档归类汇总
  • java aes加密_行走江湖,安全第一 | 尚硅谷Java安全密码学教程发布!
  • 今天是最后的悠闲。
  • kernel编译 openwrt_OpenWRT实践3:Click Modular Router
  • 关于Mercurial(Hg)
  • python异常处理机制_错误处理
  • 十进制浮点数的表示方法
  • python工作可以做什么菜_python3 特色菜
  • Evolution3D 的svn搬迁。
  • python网络自动化实例_python 自动化之路 day 08_2 网络编程
  • 新年了。今年Evolution3D要做的事
  • python组合数计算cmnn_求计算机大佬解答python题
  • hex字符串转byte数组 c_高频golang面试题:字符串转成byte数组,会发生内存拷贝吗?
  • 程序员考核的五大死因(上)
  • html怎么做图片自动轮播_自动果蔬售卖机作为载体的社区新零售怎么做?
  • @angular/forms 源码解析之双向绑定
  • [Vue CLI 3] 配置解析之 css.extract
  • Apache的80端口被占用以及访问时报错403
  • Cumulo 的 ClojureScript 模块已经成型
  • docker容器内的网络抓包
  • Javascript设计模式学习之Observer(观察者)模式
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • nginx 配置多 域名 + 多 https
  • Phpstorm怎样批量删除空行?
  • zookeeper系列(七)实战分布式命名服务
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 复习Javascript专题(四):js中的深浅拷贝
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 深入浅出webpack学习(1)--核心概念
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 智能合约Solidity教程-事件和日志(一)
  • ​iOS安全加固方法及实现
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (JS基础)String 类型
  • (四) 虚拟摄像头vivi体验
  • (算法)Travel Information Center
  • (转)jdk与jre的区别
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ./configure、make、make install 命令
  • .net MySql
  • .net 验证控件和javaScript的冲突问题
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • [ C++ ] STL---仿函数与priority_queue
  • [ linux ] linux 命令英文全称及解释
  • [20190401]关于semtimedop函数调用.txt
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [C语言]——内存函数
  • [Deep Learning] 神经网络基础
  • [Everyday Mathematics]20150130
  • [ffmpeg] x264 配置参数解析