[转]ajax访问Node服务器

前言:node算是入了个门。现在终于有个服务器。以前只写过SSH框架的Java后台下,前台使用jQuery交互。但是纯原生怎么写呢?

demo需求

既然是demo先从最简单的。书写一个表单提交页面。从前台input提交到后台,接收输出到浏览器。后台将收到的数据再展示到前台output中。

双向的数据传输demo。demo虽小,五脏俱全。

新建工程

idea开发。新建基础模版。

前台页面index.html

页面实现如下:

前台代码:

 1 <h3>请填写下表</h3>
 2 <form>
 3     <label>姓名:<input type="text" id="name" name="name" value="zyd317"></label>
 4 <br><br>
 5     <input type="submit" value="提交">
 6 <br><br>
 7     您的姓名是:<output id="output"></output>
 8 </form>
 9 <script>
10     var name = document.getElementById("name").value;
11     var output = document.getElementById("output");
12     //alert(name);
13     var xhr = new XMLHttpRequest();
14     xhr.open("get","http://localhost:8888/?name="+name,true);//把数据传到哪里?
15     xhr.onreadystatechange=function () {
16         if(xhr.readyState==4){
17             if(xhr.status>=200&&xhr.status<300||xhr.status==304){
18                 console.log("您的名字是:"+xhr.responseText);//从服务器得到的反馈文本
19                 output.innerHTML=xhr.responseText;
20 
21             }
22         }
23     };
24     //xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
25     xhr.send();//表单必须要要格式化
26 </script>

node.js代码

 1 var http = require("http");//获取http模块
 2     function onRequest(req,res) {//定义服务器监听得到响应的函数
 3         var text = req.url.toString().split("=")[1];
 4         console.log("result-----------"+req.url.toString());
 5         console.log("text-----------"+text);
 6         res.writeHead(200,{"Content-Type":"text/plain","Access-Control-Allow-Origin":"http://localhost:63342"});
 7         res.write(text);//相当于页面的responseText
 8         res.end();
 9     }
10 http.createServer(onRequest).listen(8888, function () {//createServer可以传入两个参数(req,res)
11     console.log("listening................");
12 });

原文件

posted @ 2017-05-16 21:15  SpiritLing  阅读(348)  评论(0编辑  收藏  举报