<mark>首先:</mark>

jsonp和json没有关系 。

jsonp作用:

  1. jsonp用来解决跨域问题的技术手段;
  2. 可以在不同的js外部文件中调用其他js文件中声明的函数;
  3. script标签可以根据其调用其他js文件中声明的函数的特点的可以通过script标签访问不同的域名定义下的函数;
  4. 可以通过<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>

如有错误,欢迎指正!!!