flask 如何获得 ajax 传递的formdate?

刚学flask的前后端互动做个小测试
hrml代码如下:

img


python代码如下:

img

运行如下:

img

按道理不是应该显示:chinese 吗?

应该是有3个问题:
1、ajax参数写错了,应该是data,而不是date;
2、form表单需要加上enctype="multipart/form-data"这个属性;
3、ajax请求方式改成post
具体代码如下:

<button id=" but" onclick="submiteee();">提交</button>
    <form action="" name="form1" enctype="multipart/form-data">
        <select name="" id="select">
            <option  value="chinese">中文</option>
            <option  value="english">英文</option>
        </select>
    </form>

    <script>
        function submiteee(){
            var fd=new  FormData();
            fd.append('sl',$('#select option:selected').val());
            $.ajax({
                url:'http://localhost',
                type:'post',
                data:fd,
                dataType:'json',
                processData: false,  //必须
                contentType: false,  //必须
                error:function (error) {
                    console.log(error);
                }
            })
        }
    </script>

有帮助的话,请点采纳~

你的ajax的参数错了,不是date,是data。如下:


$.ajax({
  url:"http://localhost",
  data:fd,
  dataType:'json',
  success:(res) => {
    // todo 服务器返回的数据
    console.log(res);
   }
});

在服务器端,在printfd函数里面写入打印函数
print(fd)
如果执行到printfd的时候会有日志,没有的没有执行到这个函数。在返回的时候,应该返回的json数据,在前端进行处理

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^