首页 > Web开发 > 详细

js-3part原生js尝试用Ajax

时间:2020-09-02 17:02:05      阅读:49      评论:0      收藏:0      [点我收藏+]

 

getElementsByName使用方法
如下是input标签,我们尝试从里面获取到csrf的value值。
这个csrf标签,是隐藏的,在浏览器页面element可以看到,在html源码里面,是看不到如下的input标签的
<input type="hidden" name="csrfmiddlewaretoken" value="fR1iMAQxRgiHEwopw1cnGgBDyNAx2jSBRE1bkfJsqWdZUea7HBviTK2nmmqJPCby">

真正在html源码里面的写法是这样的:
<body>
{% csrf_token %}
</body>

 

用getElementsByName写作如下格式

csrf_token = document.getElementsByName("csrfmiddlewaretoken")[0].value

getElementsByName获取的是一个数组,所以取值,需要用索引,即便这个数组里面,只有一个值,也需要用索引取值。然后指定到单个的值,才能用value拿到标签里面value的结果

 

原生js的Ajax写法,这个在网上比较少,今天把简单的用法写下来

function ajax_func() {  # 这是正常的函数定义
     console.log("hello world");  # 这里先测试函数是否生效
    csrf_token = document.getElementsByName("csrfmiddlewaretoken")[0].value;  # 接上面,尝试获取csrf标签值
    xmlhttp = new XMLHttpRequest();
     xmlhttp.open("POST", "/manage_sys/try_write_attend/", true);  # 设置method;url;最后一个参数,是否设置异步请求,true异步,false同步。
     xmlhttp.setRequestHeader("x-csrftoken", csrf_token);  # 设置csrf请求头,这里需要注意,在原生js里面,请求头的键就是”x-csrftoken“,这个跟jQuery的键不一样。
     xmlhttp.send()
 }

 

js-3part原生js尝试用Ajax

原文:https://www.cnblogs.com/2012-dream/p/13601944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!