原生jsonp实现跨域及封装
JSONP封装
function jsonp(url,success,data){
// 1.处理默认参数
data = data || {};
// 2.解析数据
var str = "";
for(var i in data){
str += `${i}=${data[i]}&`;
}
// 3.创建script标签,设置src,准备开启jsonp
var script = document.createElement("script");
script.src = url + "?" + str;
document.body.appendChild(script);
// 4.定义全局函数
window[data[data.columnName]] = function(res){
success(res);
}
使用
document.onclick = function(){
var url = "http://127.0.0.1/jsonp/data/jsonp3.php"
jsonp(url,function(res){
alert(res)
},{
pass:"root",
// 5.用来保存,后台接收的回调函数名所在的字段名
// 为了给自己封装的函数传参,放置多次修改封装好的函数
columnName:"cb",
// 6.根据后台要接受的字段名,发送回调函数名,回调函数名,已经无所谓了,随机都行
cb:"jsp"
})
}
后端php
<?php
$u = @$_REQUEST["pass"];
$c = @$_REQUEST["cb"];
$data = "hello ".$u;
echo $c."('".$data."')";
?>
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634720.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现