jsonp的使用记录
最近前端的同事说要写一个手机查看的html5页面,需要我提供数据。
这个很ok啊,立马写了个服务返回数据。但是对方调用不了,因为跨域了。
返回错误如下:
Failed to load
xxxxxx: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:100' is therefore not allowed access.
解决方案:
使用jsonp。
关于这个,我查看了这篇文章,讲的非常清楚了。点击这里查看
后台返回格式
一开始返回使用的是string类型,但这个不起作用,字符串不会识别为可执行的js代码。
1 2 | HttpContext.Current.Response.Write(callback + "(" + JsonConvert.SerializeObject(r) + ")" ); HttpContext.Current.Response.End(); |

前台调用
1 jQuery(document).ready(function () { 2 $.ajax({ 3 type: "get", 4 async: false, 5 url: "http://192.168.1.21:9006/api/ad/GetDiscountHtml", 6 dataType: "jsonp", 7 jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) 8 success: function (json) { 9 alert(5) 10 }, 11 error: function () { 12 alert('fail'); 13 } 14 }); 15 });
1 $.getJSON("http://192.168.1.21:9006/api/ad/GetDiscountHtml?jsoncallback=?", function (data) { 2 alert(1); 3 });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构