A-A+

JSONP 跨域请求数据代码(跨域请求数据包)

2017年10月17日 17:27 学习笔记 暂无评论 共754字 (阅读1,975 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

同事非想看,没办法弄一段代码给对方展示JSONP跨域请求,只要把下面的代码保存到本地,然后打开就可以获取到JSONP的信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <title>jsonp-test</title>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <script type="text/javascript">
		window.onload = function(){ 
			  try{ 
				inj_script('jsonp'); 
			  } 
			  catch(e){} 
			}
		callbackMemberFun = function(o){ 
		  document.getElementById("t").innerHTML = json2str(o);
		} 
		function inj_script(a, b) { 
		  var o = document.createElement("script"); 
		  o.src = a; 
		  if (b) { 
			if (!window.ActiveXObject) { 
			  o.onload = b; 
			} 
			else { 
			  o.onreadystatechange = function () { 
				if (o.readyState == 'loaded' || o.readyState == 'complete') { 
				  b(); 
				} 
			  } 
			} 
		  } 
		  document.getElementsByTagName("body")[0].appendChild(o); 
		  return o; 
		} 
		function json2str(o) { 
		  if(typeof o == 'string') return o; 
		  var arr = []; 
		  var fmt = function(s) { 
			if (typeof s == 'object' && s != null) return json2str(s); 
			return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; 
		  } 
		  for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); 
		  return '{' + arr.join(',') + '}'; 
		} 
    </script>  
  </head>  
 
  <body>  
    <div>  
        <div><input type="button" value="获取跨域服务器的数据" onclick="getData('http://www.baidu.com/')" /> </div>      
        <div style="background: teal;width:500px;height:300px" >  
            获取跨域服务器的数据:  
            <div id="t" style="color: red" ></div>  
        </div>  
    </div>  
  </body>  
</html>

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言