请问,这样算实现了吗?

请问,这样算实现了吗?

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>ajax5-6</title>

</head>

<body>

    <input type="submit" name="" id="btn">

    <script>

       const btn=document.getElementById('btn');

       const url='https://www.imooc.com/api/http/search/suggest?words=js';  //接口需要和后端联系

       btn.onclick=function(e){

        e.preventDefault();

        const xhr=new XMLHttpRequest();

        xhr.onload=function(){

            if(

                (xhr.status>=200&&xhr.status<300||

                xhr.status===304)

            ){

                console.log(xhr.response);

            };

        };

        xhr.open('POST',url,true);

        const data={username:'imooc'};

        xhr.send(JSON.stringify(data));

       }

    </script>

</body>

</html>


在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕星星 2020-11-29 14:02:20

同学你好,对于ajax这部分知道怎么封装的,知道每个方法的作用是什么,需要的时候引入即可。会用,不需要深入研究,把ajax基本原理弄懂就好。

祝学习愉快!

  • 提问者 Vigorous阿炎 #1

    星星,我大概知道ajax的原理了,但是要是继续跟着老师的继续封装下去,我估计要吐血。思想这一关自己就没过,我现在试着跳过封装这一节和封装项目这一块来到移动web这一块。不知道这样可以么,而且我知道自己有几斤几两,前面那一块函数逻辑上自己虽然看得懂但是要是自己完全脱离资料来写肯定是不可能写出来的。所以,等后面出现的问题后把时间重点安排在函数逻辑上,和页面交互布局上。ajax主要是和后端交互联系让自己的页面得到相应。这一点基本弄懂了。

    2020-11-29 17:10:27
  • 好帮手慕星星 回复 提问者 Vigorous阿炎 #2

    是可以哒,根据自己的学习情况合理安排后面的课程,会事半功倍。加油~

    2020-11-29 17:54:30
  • 提问者 Vigorous阿炎 回复 好帮手慕星星 #3

    好滴,谢谢啦!

    2020-11-29 18:09:26
好帮手慕星星 2020-11-29 11:31:45

同学你好,理解的没有问题,并且练习中要求了设置请求头为json格式。

另外使用链接地址不对,少了json/

http://img1.sycdn.imooc.com//climg/5fc31618097c15a211500098.jpg

祝学习愉快!

  • 提问者 Vigorous阿炎 #1

    嗯嗯,谢谢。老师ajax封装这一块有点复杂繁琐。几天了自己一直无法前进,可是后面项目中又要用到ajax封装的数据。导致现在自己一直处于停滞不前的状态,非常苦恼!不知道该如何是好。

    2020-11-29 12:23:55
好帮手慕慕子 2020-11-28 18:18:27

同学你好,整体思路是对,但是请求数据的地址不对,且没有设置请求头,如下图所示:

http://img1.sycdn.imooc.com//climg/5fc2239309b20b1d08870432.jpg

建议修改:调整地址,使用setRequestHeader设置请求头信息。

http://img1.sycdn.imooc.com//climg/5fc223d009079d0412360623.jpg

祝学习愉快~

  • 提问者 Vigorous阿炎 #1

    之前是这样的请求头

     //       xhr.setRequestHeader('Content-Type',

        //       "application/x-www-form-urlencoded");

    您这样的请求头是从接口里面network找到的么?直接复制的里面的?


    2020-11-28 18:27:33
  • 好帮手慕慕子 回复 提问者 Vigorous阿炎 #2

    同学你好, 在前面的课程中老师有讲解,将请求头设置为json格式的方式,如下图所示:

    http://img1.sycdn.imooc.com//climg/5fc22fd9092f650109610382.jpg

    同学可以回顾下课程,加深记忆 https://class.imooc.com/lesson/1644#mid=39197 

    祝学习愉快~

    2020-11-28 19:10:28
  • 提问者 Vigorous阿炎 回复 好帮手慕慕子 #3

    噢噢,之所以后来加上onload,以及表单后。把这个格式删去了,是因为表单有默认这个头部格式,已经告诉服务器了,所以不用再写了,而这里是json格式的和表单默认的格式不一样所以需要再把这个格式给加上。

    2020-11-29 10:02:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师