博客列表 >jQuery中的DOM操作实现留言板功能、$get、 $post、 ajax跨域

jQuery中的DOM操作实现留言板功能、$get、 $post、 ajax跨域

手机用户1576673622
手机用户1576673622原创
2021年05月07日 18:49:03745浏览

1,留言板

  1. <body>
  2. <textarea name="text" cols="30" rows="10"></textarea>
  3. <ol id="list"></ol>
  4. <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
  5. <script>
  6. // 获取元素。
  7. const msg = $("textarea")
  8. const list = $("#list");
  9. // 创建事件。
  10. msg.keydown((ev) => {
  11. // 键盘事件中的key属性,表示按下的键名
  12. // console.log(ev.key);
  13. // 非空判断
  14. if (ev.key === "Enter") {
  15. // console.log(ev.currentTarget.value);
  16. if (ev.currentTarget.value.length === 0) {
  17. alert("不能为空");
  18. msg.focus();
  19. } else {
  20. // 添加留言,将留言加入列表
  21. let olStr = `<div><li>${ev.currentTarget.value}</li><button onclick="del(this)">删除留言</button></div>`;
  22. list.append(olStr);
  23. // 最后清空留言板
  24. ev.currentTarget.value=null;
  25. }
  26. }
  27. })
  28. // 删除留言
  29. function del(ele){
  30. return confirm("是否删除?")?(ele.parentNode.outerHTML=null):false;
  31. }
  32. </script>
  33. </body>

2,实例演示$.get,$.post,并用$.ajax再实现一遍,并用$.ajax实现jsonp中跨域请求

$.get

  1. // 1. $.get(请求url,查询参数,成功回调)
  2. $(".get").click(function (ev) {
  3. // $.get("users.php?id=1", function (data) {
  4. $.get("users.php", { id: 2 }, function (data) {
  5. console.log(data);
  6. console.log(ev.target);
  7. $(ev.target).after("<div></div>").next().html(data);
  8. });
  9. });

输出结果:2: 灭绝师妹 55岁

$.post

post 和 get 只是参数不同

  1. $(".post").click(function (ev) {
  2. $.post("users.php", { id: 3 }, function (data) {
  3. console.log(data);
  4. $(ev.target).after("<div></div>").next().html(data);
  5. });
  6. });

输出结果:3: 西门老妖 44岁

$.ajax()

1,ajax可以完成上面两种操作。

  1. $.ajax({
  2. type:'post',
  3. url:'users.php',
  4. data: {id:2},
  5. dataType: 'html',
  6. success: function (data){
  7. $(ev.target).after("<div></div>").next().html(data);
  8. }
  9. })

输出结果:2: 灭绝师妹 55岁
2,ajax实现jsonp跨域

  1. $(".jsonp").click(function (ev) {
  2. $.ajax({
  3. type: "get",
  4. url: "http://world.io/test.php?id=2&jsonp=?",
  5. dataType: "jsonp",
  6. // 告诉跨域访问的服务器需要返回的函数名称
  7. // jsonpCallback: "show",
  8. success: function (data) {
  9. console.log(data);
  10. $("button:last-of-type").after("<div>").next().html(`${data.name} [${data.email}}]`);
  11. },
  12. });
  13. });

输出结果:西门老师 [xm@php.cn}]

上一条:php之类与继承下一条:0506oop作业
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议