最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

node跨域请求方法小结

来源:动视网 责编:小采 时间:2020-11-27 22:31:45
文档

node跨域请求方法小结

node跨域请求方法小结:本文介绍了node跨域请求,主要介绍了两种方法,一种是jsonp,另一种res.wirteHead,具体如下: 第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHead node部分 var http = require('http') var url
推荐度:
导读node跨域请求方法小结:本文介绍了node跨域请求,主要介绍了两种方法,一种是jsonp,另一种res.wirteHead,具体如下: 第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHead node部分 var http = require('http') var url


本文介绍了node跨域请求,主要介绍了两种方法,一种是jsonp,另一种res.wirteHead,具体如下:

第一种:jsonp

参看用nodejs实现json和jsonp服务

第二种:res.wirteHead

node部分

var http = require('http')
var url = require('url')
var querystring = require('querystring')

var port = 9000
var jsonData = { 'name': 'xiaohong', 'job': 'daboss' }
http.createServer(function (req, res) {
 // var pathStr = url.parse(req.url)
 res.writeHead(200, {
 'Content-Type': 'application/json;charset=utf-8',
 'Access-Control-Allow-Credentials': true,
 'Access-Control-Allow-Origin': '*'
 })
 var type = req.method;
 if (type == 'GET') {
 
 res.end(JSON.stringify(jsonData))
 } else if (type == 'POST') {
 var str = '';
 req.on('data',function(chunk){
 str += chunk;
 })
 
 req.on('end',function(){
 var data = querystring.parse(str)
 console.log(data)
 if(data.name == "" || data.job == ""){
 res.end(JSON.stringify({'success':true,msg:'填写有误'}))
 }else{
 res.end(JSON.stringify({'success':false,msg:'添加成功'}))
 }

 })
 }

}).listen(port, function () {
 console.log('server is runing at port ' + port)
})

重点部分是添加响应头信息

 res.writeHead(200, {
 'Content-Type': 'application/json;charset=utf-8',
 'Access-Control-Allow-Credentials': true,
 'Access-Control-Allow-Origin': '*' //可以是*,也可以是跨域的地址
 })

ajax里不需要做任何特殊处理

dataType仍旧是json

html部分

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
</head>
<body>
 <a class="click" href="javascript:get_jsonp()" rel="external nofollow" >click me</a>
 <p class="result"></p>
 <label>姓名:</label>
 <input class="name" type="text" />
 <label>职位:</label>
 <input class="job" type="text">
 <a class="add" href = "javascript:add()">添加</a>
 <p class="msg"></p>
 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script>
 function get_jsonp() {
 $.ajax({
 type: 'get',
 dataType: 'json',
 url: 'http://localhost:9000',
 success: function (data) {
 $('.result').html('my name is ' + data.name)
 },
 error: function (err) {
 $('.result').html('出错了 ' + err.status)
 }
 })
 }
 function add(){
 $.ajax({
 type:'post',
 url:'http://localhost:9000',
 dataType:'json',
 data:{
 'name':$(".name").val(),
 'job':$(".job").val()
 },
 success:function(data){
 $('.msg').html(data.msg)
 },
 error:function(err){
 
 $('.msg').html('出错了'+err.status)
 }
 })
 }
 </script>
</body>
</html>

文档

node跨域请求方法小结

node跨域请求方法小结:本文介绍了node跨域请求,主要介绍了两种方法,一种是jsonp,另一种res.wirteHead,具体如下: 第一种:jsonp 参看用nodejs实现json和jsonp服务 第二种:res.wirteHead node部分 var http = require('http') var url
推荐度:
标签: 方法 访问 总结
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top