废话不多说,直接上代码

网页客户端

 <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>client</title>
</head>
<body>
<button onclick="testClick()">点击</button>
<br>
<div id ="res_data"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
function testClick(){
var HTTPrequest = new XMLHttpRequest();
HTTPrequest.open("POST","http://192.168.3.151:8385/",true);
HTTPrequest.setRequestHeader("Content-Type","text/html; charset=utf-8");
HTTPrequest.withCredentials = true;
var msg = "this is a request";//新建一个字符串,通过send方法发送给服务器
HTTPrequest.send(msg);
HTTPrequest.onload = function (e){
$('#res_data').append("<p>"+ HTTPrequest.responseText +"</p>");//有返回信息时将信息打印在页面
}
HTTPrequest.onerror = function(e){
alert('请求失败');
}
}
</script>
</body>
</html>

实际效果:

就是一个最最简单的页面,当点击页面按钮时 将请求发送到服务端

下面是node.js写的服务端的代码

 var http = require('http');
var PORT = 8385;
http.createServer(function (req, res) {
req.on('data', function(data) {
console.log(data.toString());
});
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Origin", "http://192.168.3.151:9000");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.setHeader("content-type", "text/html; charset=utf-8");
var msg = "this is a response";
res.end(msg);
}).listen(PORT, function () {
console.log('server is listening on port ' + PORT);
})

其中 7 8 9 这3行都是为了处理网页跨域的设置

现在运行这个node

服务器就启动好了

前端点击发送请求,服务端接收到请求,服务端也返回信息给网页

麻雀虽小五脏俱全,这样一个前端-后端的系统就写好了

从HTML到node.js以及跨域问题的解决的更多相关文章

  1. vue-cli3.0+node.js+axios跨域请求session不一样的问题

    一.问题重述 使用的是,前后端分离,前端vue+axios请求,后端使用node搭建服务端接口,遇到的问题是,我通过登录接口吧数据存储型在session,我登录上以后,发现再次验证登录(另一个接口)的 ...

  2. node.js 关于跨域和传递给前台参数

    /*为app添加中间件处理跨域请求*/ app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin& ...

  3. NodeJ node.js Koa2 跨域请求

    Koa2 .3 跨域请求 Haisen's  需求分析 (localhost:8080 = 前端  [请求]  localhost:8081 = 服务器 ) 1.一个前台    一个服务器    前台 ...

  4. js的跨域问题和解决办法

    我们在开发中,经常会遇到跨域请求数据问题,那么什么是跨域呢?跨域就是js在不用域之间的数据传输或者通信,比如你在使用ajax从另外一个域请求数据,或者你的页面引入了iframe,要从iframe中获取 ...

  5. node.js设置跨域

    app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*& ...

  6. js执行跨域请求

    //js执行跨域请求 var _script = document.createElement('script'); _script.type = "text/javascript" ...

  7. js 跨域的问题 (同一个主域名不同的二级域名下的跨域问题) 解决 WdatePicker.js my97日期选择控件

    例如域名是  a.xx.com  和 b.xx.com    如果一个页面中引入多个iframe,要想能够操作所有iframe,必须都得设置相同domain. 如果iframe的时候  a包含b  为 ...

  8. js调用跨域

    web aapi 初体验 解决js调用跨域问题   跨域界定 常见跨域: 同IP不同端口: http:IP:8001/api/user     http:IP:8002/api/user 不同IP不同 ...

  9. js&jquery跨域详解jsonp,jquery并发大量请求丢失回调bug

    URL  说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http:/ ...

随机推荐

  1. python基础面试集锦(51-100)

    目录 51.把aaabbbcccdd这种形式的字符串压缩成a3b3c3d2的形式? 52.给你一个字符串'abc',打印出该字符串的所有排列组合? 53.执行以下代码后,x的值为? 54.对于一个非空 ...

  2. oracle问题之死锁 (一)

    [前言] 遇到 oracle 异常 和 解决实践 系列文章 整理分享 杂症一.oracle死锁 一.症状: 执行SQL或程序时,程序没有响应或SQL执行一直处于执行状态,没有成功,也没有报错. 二.病 ...

  3. 跟Evan学Sprign编程思想 | Spring注解编程模式【译】

    Spring注解编程模式 概况 多年来,Spring Framework不断发展对注解.元注解和组合注解的支持. 本文档旨在帮助开发人员(Spring的最终用户以及Spring Framework和S ...

  4. 表达式属性(C#6.0和C#7.0

    从C#6开始,只读属性可简写为表达式属性.它使用双箭头替换了花括号,get访问器和return关键字. 例如: decimal CurrentPrice,sharedOwned; public dec ...

  5. C语言出现 "initializer element is not constant" 错误的原因

    当在全局变量定义一个指针变量,并动态分配内存后,发现竟然编译不过去,并提示 ""initializer element is not constant"": c ...

  6. HDU_3410_单调栈

    http://acm.hdu.edu.cn/showproblem.php?pid=3410 初探单调栈,从左往右,求l,从右往左,求r. #include<iostream> #incl ...

  7. CCF_ 201312-2_ISBN号码

    水. #include<cstdio>#include<string>#include<iostream>using namespace std; int main ...

  8. 2019icpc西安邀请赛

    来源:https://www.jisuanke.com/contest/2625?view=challenges 更新中 A.Tasks 直接贪心 代码:听说当时很多队伍提前拆题甚至上机了,所以很多0 ...

  9. Java 中序列化与反序列化

    一. 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.将程序中的对象,放入文 ...

  10. vs 搭配 Linux 开发

    这是一篇翻译,为什么突然想翻译文章了呢,因为很多大佬们都说英语对程序员还是挺重要的,毕竟互联网的最新技术基本都在歪果仁那边,如果英语不好,不会看国外的文档的话,将会错失接触第一手资料的机会,失去很多先 ...