<mark>首先:</mark>
jsonp和json没有关系 。
jsonp作用:
- jsonp用来解决跨域问题的技术手段;
- 可以在不同的js外部文件中调用其他js文件中声明的函数;
- script标签可以根据其调用其他js文件中声明的函数的特点的可以通过script标签访问不同的域名定义下的函数;
- 可以通过
<script src=''></script>
的src指向互联网的一个资源,也可以请求,当这个资源被请求过来必须当做script来使用;
具体实现如下:
通过jsonp制作一个简单的获取当前时间的案例
<mark>服务器端</mark>
string time = DateTime.Now.ToShortDateString();
string func = "getTime";
if (context.Request.QueryString["jsonp"] != null)
{
func = context.Request.QueryString["jsonp"];
}
string data = time;
context.Response.Write(func + "('" + data + "');");
服务器端方法名根据前端页面动态生成
<mark>页面代码</mark>
<!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>
<button id="btn">获取</button>
<div id="box"></div>
<script> function getData(data){ document.getElementById('box').innerHTML=data; } </script>
<script src="https://localhost:44335/Handler1.ashx?jsonp=getData"> //该行代码为服务器地址,也就是资源地址 </script>
</body>
</html>
如有错误,欢迎指正!!!