ajax发送json格式数据

前后端在做数据交互的时候 一定一定要表明你所发的的数据到底是什么格式

前段后交互 你不能骗人家,不然后端开发人员来找你的时候会抄着一根凳子腿。
你的数据时什么格式 你就应该准确无误告诉别人是什么格式

那么怎么告诉后端你要发送的数据的格式是什么呢

form 表单是通过 他的 enctype

而 ajax 是通过 contentType,如果你要传送的数据是json(通常只有json格式)

你需要这么写 contentType:‘application/json‘

要怎样发送一个json格式的数据呢? 后端有json.dumps 前端有JSON.stringify()。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
    <link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>

</head>
<body>
<input type="text" id="t1"> + <input type="text" id="t2"> = <input type="text" id="t3">
<p>
    <button id="b1">计算</button>
</p>
<script>
    $('#b1').on('click',function () {
        $.ajax({
            url:'',
            type:'post',
            contentType:'application/json',
            {#data:{'t1':$('#t1').val(),'t2':$('#t2').val()},#}
            data:JSON.stringify({'username':'chanyuli','password':'123'}),
            success:function (data) {
                $('#t3').val(data)
                {#alert(data)#}
            }
        })
    })
</script>
</body>
</html>

这时候就会发现后端 post 里面没有任何信息了,这就是之前讲过的,django后端会对不同的数据格式进行不同的处理,这又不是 xxxxx&xxxxx类型的。所以没有在post里面。

Ajax传json格式数据:django后端针对json格式的数据 不会自动帮你解析 会直接原封不动的给你放到request.body中 你可以手动处理 获取数据。

这时候去后端 打request.body ,发现是一个b‘{"username":"chanyuli","password":"123"}

是一个bytes类型的数据,这时候我们自己反序列化就好了。

注意点
1.指定contentType参数
  contentType:'application/json',
2.要将你发送的数据 确保是json格式的
                data:JSON.stringify({'username':'jason','password':'123'})
        

注意:有些时候 request.body 会看不了,django会给你报错。

原文地址:https://www.cnblogs.com/chanyuli/p/11761401.html

时间: 2024-10-10 06:31:48

ajax发送json格式数据的相关文章

spring mvc+ajax 实现json格式数据传递

使用ajax传递JSON对象 下面示例为ajax发送json对象,返回json格式数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $.ajax({ url: "api/user", type: "POST", timeout: txnTimeOut, async: true, dataType: "json", data: {username : "lucy"}

springmvc4.0配置ajax请求json格式数据

1.导入相关jar包:jackson-annotation-2.5.4.jar,jackson-core-2.5.4.jar,jackson-databind-2.5.4.jar. 2.spring-servlet.xml中相关配置: //命名空间加入mvc: xmlns:mvc="http://www.springframework.org/schema/mvc" //xsi:schemaLocation中补充: http://www.springframework.org/sche

HTTP POST 发送JSON格式数据(解决Expect:100-continue 问题)

最近在开发的一个项目,需要涉及到使用Http请求发送比较大的数据,研究了挺长时间,遇到问题,解决问题,在此分享给大家 1.由于数据量较大,所以采用POST方式 传输数据(POST理论上不限制数据大小,但不同服务器都会有相应的默认设置限制数据大小) 2.由于项目需要,使用JSON格式的数据 代码示例: JAVA 版,使用Apache的commons-httpClient包 发送http请求,代码仅供参考,发送请求方式可根据自己需要进行修改 import org.apache.commons.htt

ajax 提交 json格式数据到后台

例子:$.ajax({ type: 'POST', url: "/ROOT/modify.do", contentType: "application/json",//如果想以json格式把数据提交到后台的话,这个必须有,否则只会当做表单提交 data: JSON.stringify({"name":"sam","age":"12"}),//JSON.stringify()必须有,否则只

ajax的json格式数据

什么是Ajax: 通过js语言跟后台进行交互的一个东西 -特点:异步,局部刷新 ajax往后台提交数据 $.ajax({ url:'请求的地址', type:'get/post', data:{key:value,key2:value2}, success:function(data){ alert(data) } }) 1 后台返回json格式 2 问?返回render,返回redirect? 基于ajax写一个登陆功能,一旦登陆成功,跳转到百度,登陆失败,在页面显示用户名或密码错误 总结:

jQuery调用ajax获取json格式数据

<body> <div>点击按钮获取音乐列表</div> <input type="button" id="button" value="确定" /> <div id="result"></div> <div>添加新的音乐</div> <input type="text" name=""

curl发送json格式数据

php的curl方法详细的见官方手册. curl_setopt用法:  http://www.php.net/manual/en/function.curl-setopt.php <?php $params = array( 'par1' => 'a', 'par2' => 11, ); $header = array("Content-type: application/json");// 注意header头,格式k:v $arrParams = json_enco

yii框架Ajax返回Json格式数据方法

$model = ModelName::model()->findByPk($pid); //方法一 echo json_encode($model->attributes); //方法二 echo CJSON::encode($model);

Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07

目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Ajax 实现效果 contentType 前后端传输数据编码格式 ajax 提交数据 ajax发 json 格式数据 ajax 传文件 序列化组件 利用 sweetalert 搭建页面(弹窗) 弹窗中文支持不太好,手动修改样式 页面数据没刷新的问题 自定义分页器 批量插入测试数据 bulk_creat