【Ajax】笔记-原生jsonp跨域请求案例

原生jsonp跨域请求

输入框:输入后,鼠标移开向服务端发送请求,返回用户不存在(直接返回不存在,不做判断)

JS

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例</title>
</head>
<body>
    用户名: <input type="text" id="username">
    <p></p>
    <script>
        //获取 input 元素
        const input = document.querySelector('input');
        const p = document.querySelector('p');
        
        //声明 handle 函数
        function handle(data){
            input.style.border = "solid 1px #f00";
            //修改 p 标签的提示文本
            p.innerHTML = data.msg;
        }

        //绑定事件
        input.onblur = function(){
            //获取用户的输入值
            let username = this.value;
            //向服务器端发送请求 检测用户名是否存在
            //1. 创建 script 标签
            const script = document.createElement('script');
            //2. 设置标签的 src 属性
            script.src = 'http://127.0.0.1:8000/check-username';
            //3. 将 script 插入到文档中
            document.body.appendChild(script);
        }
    </script>
</body>
</html>

服务

javascript 复制代码
//用户名检测是否存在
app.all('/check-username',(request, response) => {
    // response.send('console.log("hello jsonp")');
    const data = {
        exist: 1,
        msg: '用户名已经存在'
    };
    //将数据转化为字符串
    let str = JSON.stringify(data);
    //返回结果
    response.end(`handle(${str})`);
});

测试

相关推荐
程序员黑豆9 分钟前
AI全栈开发之Java:什么是JDK
前端·后端·ai编程
To_OC9 分钟前
万字解析《JS语言精粹》之第四章:函数15大核心精髓(JS灵魂核心)
前端·javascript·代码规范
mqcode19 分钟前
Vue3 + Element Plus + Vite 企业级后台框架搭建全流程
前端
SL-staff21 分钟前
Web 白板技术架构深度解析:从渲染到协作的选型哲学
前端·架构
lunzi_082622 分钟前
【学习笔记】《Python编程 从入门到实践》第8章:函数定义、参数传递与模块导入
笔记·python·学习
微扬嘴角24 分钟前
react篇4--setState、LazyLoad和Hooks
前端·javascript·react.js
杨梦馨36 分钟前
万级数据表格卡死?Web Worker 一招搞定
前端·javascript·vue.js
阿明在折腾36 分钟前
从Canvas到AI模型:我在线工具站里的图片处理实战
前端·后端
CainChen39 分钟前
Chrome 远程调试 Android 卡在 Pending authentication 的解决办法
前端
杨运交39 分钟前
[030][Web模块]Spring Boot 验证与 OpenAPI 集成实战:从校验规则到文档生成
前端·spring boot·python