在html页面中,能实现跨域请求的是

第一:

<script src="http://localhost:59602/JsonpTest.ashx?callBack=callBack"></script>

第二:

var img = document.createElement("img");
img.src = "http://localhost:59602/JsonpTest1.ashx?callBack=callBack"; 现在根据这两种讲解跨域请求 第一种:
直接上代码:前台HTML页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function callBack() {
alert("执行了");
}
</script>
<script src="http://localhost:59602/JsonpTest.ashx?callBack=callBack"></script>
</head>
<body> </body>
</html>

后台用的c#的一般处理程序

        public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string callBack= context.Request.QueryString["callBack"];
context.Response.Write(callBack+"()");
}

执行结果成功

第二种:

前台代码:html页面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--<img src="http://localhost:59602/JsonpTest.ashx?callBack=callBack">-->
</body>
<script>
var img = document.createElement("img");
img.src = "http://localhost:59602/JsonpTest1.ashx?callBack=callBack";
// img.style.display = "none";
document.body.appendChild(img);
img.onload = function (data1) {
console.log("成功");
}
img.onerror = function (data1) {
console.log("失败");
console.log(data1);
}
</script>
</html>

后台代码:后台用的302重定向调整,直接返回图片也可以

        public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Redirect("https://img.alicdn.com/tfs/TB1cokKnY_I8KJjy1XaXXbsxpXa-190-140.gif", false);
}

第三中:JQ的ajax封装的jsonp,本质就是用的上面两种

前台页面:HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jquery-1.10.2.js"></script>
<script>
$(function () {
$.ajax({
url:"http://localhost:59602/JsonpTest.ashx",
dataType:"jsonp",
jsonpCallback:"callback",
success:function (data) {
alert("回调成功");
}
});
}); function callback(data) {
alert("回调callback");
}
</script>
</head>
<body> </body>
</html>

后台代码用的第一中的。

结果:查看网络请求,本质还是第一种

后台接口永续跨域详解:https://blog.csdn.net/hehexiaoxia/article/details/61916737

jsonp跨域请求及本质的更多相关文章

  1. .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器

    1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...

  2. JSONP跨域请求数据报错 “Unexpected token :”的解决办法

    原文  http://www.cnphp6.com/archives/65409 Jquery使用ajax方法实现jsonp跨域请求数据的时候报错 “Uncaught SyntaxError: Une ...

  3. jQuery ajax的jsonp跨域请求

    一直在听“跨域跨域”,但是什么是跨域呢?今天做了一些了解.(利用jQuery的jsonp) jQuery使用JSONP跨域 JSONP跨域是利用script脚本允许引用不同域下的js实现的,将回调方法 ...

  4. Django学习---jsonp跨域请求

    jsonp跨域请求 我们通过ajax进行跨域请求的时候,请求发送过去,但是在接受返回数据的时候浏览器会进行拦截. 这是由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源 ...

  5. jsonp跨域请求响应结果处理函数(python)

    接口测试跨域请求接口用的jsonp,需要将回调函数里的json字符串提取出来. jsonp跨域请求的响应结果格式: callback_functionname(json字符串). #coding:ut ...

  6. 原生JavaScript封装的jsonp跨域请求

    原生JavaScript封装的jsonp跨域请求 <!DOCTYPE html> <html lang="en"> <head> <met ...

  7. jsonp 跨域请求

    背景: JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源 ...

  8. 轻松搞定JSONP跨域请求

    一.同源策略 要理解跨域,先要了解一下"同源策略".所谓同源是指,域名,协议,端口相同.所谓"同源策略",简单的说就是基于安全考虑,当前域不能访问其他域的东西. ...

  9. 使用JSONP跨域请求数据

    下面代码,可以使用JSONP进行跨域请求数据,Insus.NET记录以下,以备忘记.

随机推荐

  1. (内存地址hashcode与对象内容hashcode)分析== 和 equal()方法

    ==.equals()和hashCode()字符串测试 1.hashCode() 是根据 内容 来产生hash值的 2.System.identityHashCode() 是根据 内存地址 来产生ha ...

  2. ZF 语法

    Zend Framework Command Line Console Tool v1.11.11 Details for action "" and provider " ...

  3. condition实现通知部分线程

    多个condition实现通知部分线程: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks. ...

  4. C++中的纯虚函数和虚函数的作用

    1. 虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class) ...

  5. c语言中会遇到的面试题

    预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)         #define SECONDS_PER_YEAR (60 ...

  6. Json Post到 https的坑 - the underlying connection was closed an unexpected error occurred on a send(远程服务器未知错误导致关闭)

    最近做了一个安装包,安装包会弹出dotnet的 窗体,这个安装包会去调用https的一个api.用测试程序测试窗体都是好的.一旦打入安装包后,就报错.研究了半天,原来是https惹的祸 解决方案: . ...

  7. 福大软工1816 · 第五次作业 - 结对作业2_EXE图片_备用

    1_每日推荐界面.png 2_论文搜索界面.png 2_论文搜索界面_搜索功能.png 3_流行趋势_十大热词排名统计图.png 4_人物界面.png 5_我的收藏界面.png 6_设置界面.png ...

  8. MacBook Pro (13 英寸, 2012 年中)安装win7系统

    准备: windows7 ISO镜像 16G或更大U盘(提前备份,需要格式化) Apple 官方提供的 windows7驱动程序 详细步骤: 1.打开Bootcamp,选择前两个选择点击继续,选择下载 ...

  9. Android camera调用出现错误解决方法

    开发时,先是使用三星的手机测试,发现一切正常: 但是到了小米的手机的时候,发现图片很模糊,发现是设置camera.setParameters(parameters);报错导致用的是默认的最小的分辨率, ...

  10. Linux串口参数设置

    linux串口编程参数配置详解 1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义#include <stdlib.h&g ...