封装JSONP

昨天咱们说了封装ajax,今天咱们说一下 自己创建一个建议的node服务器:

话不多说直接上代码:

var http = require(‘http‘)

//对URL 解析为对象
//1.导入模块 URl模块

var url = require(‘url‘)
var fs = require(‘fs‘)
var path = require(‘path‘)
var mime = require(‘./mime.js‘)
var qs = require(‘querystring‘)

http.createServer(function(req,res){
	var url1 = req.url
	var pathname = url.parse(url1).pathname
	//打印路径
	console.log(pathname)
	//取扩展名
	var ext = path.extname(pathname).slice(1)
	var contentType = mime.types[ext]

	fs.exists(__dirname+pathname,function(e){
		if(e){
			console.log("文件存在")
			fs.readFile(__dirname+pathname,function(err,data){
				if(!err){
					//返回数据
					res.writeHead(200,{"Content-Type":contentType+";charset=utf-8","Access-Control-Allow-Origin":"*"})
					res.write(data)
					res.end()
				}else{
					console.log("读文件出错")
				}
			})
		}else{
			console.log("文件不存在")

		}
	})
	//设置端口
}).listen(9796)

好啦!大概就是这个样子!

有不懂得 留言问我哦!

时间: 2024-10-16 20:59:31

封装JSONP的相关文章

封装 jsonp请求数据的方法

什么是jsonp :  Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的域(网站)访问数据需要一个特殊的技术( JSONP )呢?这是因为同源策略. 同源策略,它是由 Netscape 提出的一个著名的安全策略,现在所有支持 JavaScript 的浏览器都会使用这个策略. 了解一下jsonp的api :  封装jsonp的方法: //jsonp.js文件 import or

原生封装Jsonp

大家好!我们又见面了,昨天我们讲了一下jQuery的表单验证插件,今天我们来说一下Jsonp. 我们平常做的页面大部分的数据其实都是从后台获取过来的,最常用的方法就是Ajax,但是Ajax不能跨域取数据,这时我们就要用到Jsonp,那么什么是Jsonp? jsonp原理: 就是利用<script>标签没有跨域的"漏洞"来达到与第三方通讯的目的,当需要通讯时,本站脚本创建一个<script>元素,地址指向第三方API地址,并提供一个回调函数来接受数据,第三方产生为

各种封装——封装jsonp

jsonp主要用于跨域进行数据的交互 // JavaScript Documentfunction json2url(json){    json.t=Math.random();    var arr=[];    for(var name in json)    {        arr.push(name+'='+json[name]);    }    return arr.join('&');}function jsonp(json){    json=json||{};    if(

javascript - 封装jsonp

jsonp牵扯到同源策略.跨域等问题,这里不细说了. 实现就是创建动态的script标签来请求后台地址: 示例: jsonp('xxx.php', { uid: 1 }, function (res) { console.log(res) }) 实例: jsonp('http://localhost/server.php', { uid: 1 }, function (res) { console.log(res) }) 1 function jsonp (url, params, callba

ajax与jsonp中的几个封装函数

首先是ajax里的get 在页面上添加几个标签用作测试 <body> <input type="text" id="user"> <input type="text" id="pass"> <input type="button" id="btn"> </body> js部分: var ouser = document.getE

jsonp是什么东东?

我们知道json是一种交互式数据格式,在前后端交互数据的时候,我们需要一种万金油是的数据格式,恰好json就可以完成这个使命, 再说到jsonp,浏览器是拒绝跨域请求数据,也就是说我们不能在跨站点取数据,这个网景公司提出来的一个安全机制,那我们如果, 在不同站点想取数据要怎么办呢?当然有需求就有办法,浏览器虽然拒绝我们用ajax的方式请求数据,但是它不拒绝用script标签的跨域 请求,具体的原生实现方式我这几就不纠结了,我们来说说jquery是如何封装的jsonp,jquery封装jsonp是

jsonp协议原理深度解析

前言 今天在开发联调的过程中,需要跨域的获取数据,因为使用的jquery,当然使用dataType:'jsonp'就能够很easy的解决了.但是因为当时后端没有支持jsonp来访问,后来他在实现这个功能的时候问了我一句,jsonp形式返回的格式是怎么样子的?我一直以来只知道怎么使用,迷迷糊糊的却没有答上来... 虽然后来解决了,但是对于喜欢解决问题的我,心里却一直耿耿于怀,必须得把这个研究透彻了,于是我开始翻阅资料,看到后面真有种豁然开朗的感觉,于是打算做个笔记与大家分享. JSON和JSONP

jsonp的原理和实现

什么是JSONP? javascript高级程序设计中是这样介绍jsonp的: jsonp是JSON with padding(填充式JSON或参数式JSON )的简写,是应用JSON的一种新方法,在后来的Web服务中非常流.jsonp看起来与json差不多,只不过是被包含在函数调用中的json.jsonp由回调函数和数据两部分组成. 简单点说,jsonp是一种跨域通信的手段,它的原理其实很简单: 首先是利用script标签的src属性来实现跨域. 通过将前端方法作为参数传递到服务端,然后由服务

[oldboy-django][2深入django]浏览器同源策略 + JSONP + cros

浏览器的同源策略: - 同源: 同方法,同域名,同端口 http://www.baidu.com:8000 http: 方法 www.baidu.com: 域名 8000: 端口 - 定义 网上解析非常好的一篇 http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html - 限制 ajax只能发给同源的网址: 限制原理: 浏览器request--->跨域服务器 浏览器阻止接收<----跨域服务器响应, 服务器已经做出响应了,而且