jsonp跨域

jsonp跨域:
动态创建script,借助script发送跨域请求,服务端返回的js语句,服务器端将要返回的数据,填充进js语句里返回,script收到js语句执行js语句,在ajax中添加dataType:jsonp

	client.html
	//引入jq.js
	$("button").click(function(){
     
		$ajax({
     
			url:'http://localhost:3000',
			type:'get',
			dataType:'jsonp',
			success:function(result){
     
				alert(result)
			}
		})
	})

如果把res.end()放到setTimeout里,可以看到函数的执行过程。

	app.js
	const http=require('http');
	const url=require('url');
	http.createServer(
		(req,res)=>{
     
			var url=url.parse(req.url,true);
			var callback=url.query.callback;
			var num='12345';
			res.write(`${
       callback}($"{num}")`)
			res.end();
		}
	).listen(3000);

jsonp是json的一种使用模式,用于解决主流浏览器的跨域数据访问的问题,由于同源策略,一般来说,server1.com的网页无法与不是server1的服务器沟通,而html的script是个例外,可以动态创建script

你可能感兴趣的:(javascript)