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

事务所网站建设淘宝联盟做返利网站

事务所网站建设,淘宝联盟做返利网站,wordpress游客留言,软件开发用什么软件前言 跨域,一句话介绍: 你要请求的URL地址与当前的URL地址,协议不同、域名不同、端口不同时,就是跨域。 步入正题 前端,jQuery ajax请求 $.ajax({async: false,method: post,//URl和端口与后台匹配好,当…

前言
跨域,一句话介绍:
你要请求的URL地址与当前的URL地址,协议不同、域名不同、端口不同时,就是跨域。
在这里插入图片描述
步入正题

前端,jQuery ajax请求

$.ajax({async: false,method: 'post',//URl和端口与后台匹配好,当前情况后端是本地,端口3000url: 'http://localhost:3000/api/getUserinfo',crossDomain: true,//这里的data是有两个参数,没有可以注释data: {access_token: accessToken,code: urlCode},success: function(response) { console.log(response);//后台返回的是json数据,通过response.参数名获取值//例如  var accessToken = response.access_token;},error: function(xhr, status, error) {alert(error);}
});

node.js后端,使用cors跨域

const express = require('express');
const cors = require('cors');
const axios = require('axios');
//前端无data参数的话,body-parser可以不引入
const bodyParser = require('body-parser');
const app = express();// 设置 cors 中间件
app.use(cors());//前端没无data参数的话,bodyParser的这两行可以忽略
//解析数据,建议这两行一起使用,除非你明确的知道只需要解析其中一种格式的请求体数据
//这一行代码是解析application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// 这一行代码是解析application/json
app.use(bodyParser.json())// 设置路由
app.post('/api/getuserinfo' ,(req, res) => {//获取前端的data参数,无data需要注释掉const accessToken = req.body.access_token;const code = req.body.code;axios({//这里可以写外部其他公司的接口url: 'https://www.weixin.qq.com/cgi-bin/user/getuserinfo',method: 'post',params: {access_token: accessToken,code: code},headers: {'Content-Type': 'application/json;charset=UTF-8'},responseType: 'json'}).then(response => {res.json(response.data);}).catch(error => {res.status(500).send(error.message);});
});// 启动服务,监听3000端口
const server = app.listen(3000, () => {console.log('Server started listening at http://localhost:3000');
})

如果req.body获取为{},请注意检查body-parser的引入和使用问题

//引入
const bodyParser = require('body-parser');
//设置
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
//获取参数值
const 参数值= req.body.参数名1;

bodyparser有以下几种常用解析方式:
(1)bodyParser.json(options)解析json格式
(2)bodyParser.urlencoded(options)解析文本格式
(3)bodyParser.raw(options)解析二进制
(4)bodyParser.text(options)解析文本格式(仅字符串)

可以结合上面的内容一起看。

其他补充:

Express的req.body返回为空的问题

Jquery的ajax默认的ContentType和数据格式

1.默认的ContentType的值为:application/x-www-form-urlencoded; charset=UTF-8
此格式为表单提交格式,数据为key1=value1&key2=value2的格式
2.虽然ajax的data属性值格式为:{key1:value1,key2:value2},但最后会转为key1=value1&key2=value2的格式提交到后台
3.如果ajax要和springmvc交互,key1=value1&key2=value2的格式,后台springmvc只需要定义对象或者参数就行了,会自动映射。
4.如果springmvc的参数有@RequestBody注解(接收json字符串格式数据),ajax必须将date属性值转为json字符串,不能为json对象(js对象,会自动转为key=value形式)。并且,修改contentType的值为:application/json; charset=UTF-8,这样加了@RequestBody注解的属性才能自定映射到值

http://www.yayakq.cn/news/232274/

相关文章:

  • 医院网站建设公司辽宁网站建设哪里好
  • 盐山网站建设价格南庄建网站服务
  • 北京网站设计首选 新鸿儒哪些网站能够免费做公考题
  • 备案 通过后 网站打不开做荣誉证书的网站
  • 怎样免费做外贸网站元器件采购最好的网站
  • 医院网站建设方案计划网站建设预算项目
  • 手机网站生成小程序电商系统开发解决方案
  • 中卫网站设计公司排名深圳做网站的网
  • 江山市建设厅网站网站建设与维护高职
  • 环保部网站建设项目66公里智慧门店管理系统
  • 旅游网站的建设与应用wordpress标题
  • 购物网站的设计自助建站系统软件
  • 绍兴以往网站招工做多玩游戏网 wordpress
  • t型网站域名和版面app开发的价格清单
  • 音酷网站建设推广渠道方式
  • asp网站有哪些游戏app软件开发公司
  • 响应式网站模板 金融合肥百度网站排名优化
  • 怎么做建设网站首页做网站挣钱么
  • 泉州pc网站开发元搜索引擎有哪些
  • 怎么做网站呢建一个下载网站要什么cms系统
  • 莆田专业网站建设公司价格商城网站流量
  • 凡科的网站做seo比较难网站备案幕布照片尺寸
  • 怎么做公司官方网站郴州卖房网站
  • 网站界面设计的流程wordpress 字体代码
  • 网站pc和手机端分离怎么做自己建网站数据怎么做
  • 怎呀做网站app开发学习网站
  • 微信网站应用开发wordpress字典插件
  • 网站制作客户寻找现货市场交易平台
  • 地下城做解封任务的网站html的网页代码
  • 广州市建设企业网站哪家好关键词排名手机优化软件