会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132413个问题

flask_shop.zip

vue_shop.zip

老师   求助!!!  

我前端可以拿到后端的数据   但是增加数据   修改数据都不行   运行代码也不报错 

我找了半天    也改了  但是都不行   发送请求之前验证数据是否规范是false  我觉得可能是这里的错误  

希望老师帮忙!!!


Python 全系列/第十阶段:Flask百战电商后台项目/Flask百战电商后台项目 10382楼
Python 全系列/第一阶段:Python入门/编程基本概念 10383楼
Python 全系列/第十阶段:Flask百战电商后台项目/Flask百战电商后台项目 10384楼

老师,我这里不清楚为什么,原生AJAX时,前台打印了数据,后台还是报错。

1618196895(1).png

1618196925(1).png

用jquery 的ajax时,post 方法前台收不到数据,后台也接收不到数据,但是我看请求后台也有数据。而用get 方法不会出现这个问题。报错如下:

1618197006(1).png

1618197022(1).png

1618197040(1).png

<!doctype html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <title>ajsx回顾</title>
    <script src="jquery-3.5.1.js"></script>
</head>
<style>
</style>
<body>
<div>
    <button class="btn1">原生ajax</button><br>
    <button class="btn2">jquery的ajax</button><br>
</div>
<script>
    //获取类
    var btnone=document.querySelector('.btn1');
    var btntwo=document.querySelector('.btn2');
    //原生ajax封装
    btnone.onclick=function () {
        //开始准备发送
        //创建一个xhr对象 准备发送ajax请求
        //考虑兼容性问题  目前用到的很少
        // if(window.XMLHttpRequest){
        //     var xhr=new XMLHttpRequest();
        // }else if(window.ActiveXObject){
        //     var xhr=new ActiveXObject();
        // }
        var xhr=new XMLHttpRequest();
        //目的:用onreadystatechange监听后台是否收到前台数据的回调函数
        xhr.onreadystatechange=function () {
            //判断前台向后台发送请求的状态 值为0 1 2 3 4
            if(xhr.readyState==4){
                //判断前端是否准备收到后台反馈得数
                if(xhr.status==200) {
                    //获取后台传送的数据
                    console.log(xhr.responseText)
                    //解析数据
                    // console.log(JSON.parse(xhr.responseText))
                }
            }
        }
        //请求超时 设置时间限制   封装可不加
        xhr.timeout=5000;//单位毫秒
        //超过5s 自动执行函数 xhr.onreadystatechange函数不会执行
        xhr.ontimeout=function () {
            console.log('连接超时,请刷新页面')
        }
        // post方法
        var data=new FormData();
        data.append('pass','mary')
        data.append('name','mary')
        //当准备好接收后台数据的回调函数后,着手准备发送ajax请求
        xhr.open('post','ajax.php',true);
        //设置后通过send方法发送到后台post
        xhr.send(data);
    }
    //--------------------
    //jquery 的ajax
    btntwo.onclick=function () {
        $.ajax({
            type:'post',
            url:'ajax.php',
            dataType:'json',
            data:{
                name:'bexi',
                pass:'12',
            },
            success:function (res) {
                console.log(res)
            }
        })
    }
</script>
</body>
</html>
<?php
print_r($_POST);
print_r($_POST['name']);
echo  json_encode($_POST);
  ?>


WEB前端全系列/第六阶段:Http服务与Ajax模块(旧)/Http服务与Ajax编程 10386楼
JAVA 全系列/第十一阶段:消息中间件与高并发处理/Nginx 10388楼

为什么通过name属性访问 select中的属性是 返回的结果为undefined


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript">
            function dom(){
                // 获取div对象
                var d = document.getElementById("div_1");
                //获取内容
                
                /**
                 * innerHTML:获取的是HTML中的所有内容,空白文档 能识别HTML代码
                 * innerText:获取的只是文档内容
                 * 
                 * 单标签都是使用.value的方式获得
                 * 需要记忆的是  复选框(dom2)  和  预留文本框 (dom3)
                 */
                // var val1 = d.innerHTML;
                // var val2 = d.innerText;
                
                // d.innerHTML = "<h1>茅塞顿开</h1>";
                // d.innerText = "<h1>茅塞顿开</h1>";
                
                //在当前位置追加内容
                d.innerText += "<h1>茅塞顿开</h1>";
                // console.log("innerHTML对象:"+val1);
                // console.log("innerText对象:"+val2)
            }
            
            function docum2(){
                //var sel = document.getElementById("userNo")
                var sel = document.getElementsByName("sm");
                alert(sel.value);
                
            }
            
            function dom3(){
                var tezt = document.getElementById("tex");
                alert(tezt.value);
            }
        </script>
    </head>
    <body>
        <div id="div_1">
            
            <span>山河剑心</span>
            
        </div>
        <select id="userNo" name="sm" onchange="docum2()">
            <option value="0">--请选择--</option>
            <option value="1">中国</option>
            <option value="2">美国</option>
        </select>
        <input type="button" name="" id="" value="获取内容" onclick="dom()" /><br><br>
        <!-- <input type="button" name="" id="" value="获取复选框中所选内容" onclick="dom2()" /> -->
        <textarea id="tex" rows="20" cols="20">2897343380</textarea>
        <input type="button" name="" id="" value="操作元素的内容" onclick="dom3()" /><br><br>
    </body>
</html>

GIF 2021-4-20 10-08-34.gif

JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 10390楼
JAVA 全系列/第一阶段:JAVA 快速入门/控制语句、方法、递归算法 10392楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 10393楼
JAVA 全系列/预科阶段:职业规划/学习方法/JAVA 技术体系介绍和学习方法 10394楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/异常机制 10395楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637