当前位置: 首页 > news >正文

网页代理访问网站电子商务网站规划、电子商务网站建设

网页代理访问网站,电子商务网站规划、电子商务网站建设,wordpress建站页面,网站建设设计团队Ajax是对前端和后端进行数据、文本传递的一种技术。通过与服务器进行少量的数据交换,Ajax可以使网页实现异步更新。 这意味着可以摘不重新加载整个网页的情况下,对网页进行部分更新。 常用的ajax发送方式 XMLHttpRequest对象:原生JavaScri…

Ajax是对前端和后端进行数据、文本传递的一种技术。通过与服务器进行少量的数据交换,Ajax可以使网页实现异步更新。

这意味着可以摘不重新加载整个网页的情况下,对网页进行部分更新。

常用的ajax发送方式

  1. XMLHttpRequest对象:原生JavaScript提供的API,可以在不刷新的情况下与服务器进行数据欢呼。使用XHR对象发送Ajax请求需要编写一些JavaScript代码,并在回调函数中处理服务器返回的数据。
  2. Fetch API:可以使用Promise对象来处理Ajax请求。Fetch API更加简单,灵活,还支持数据的传输,但是需要使用者了解Promise对象的用法。
  3. jQuery.ajax():jQuery提供的方法,可以简化Ajax请求的编写,也可以处理响应数据。使用该方法可以轻松发送GET \ POST \ PUT \ DELETE。
  4. Axios:基于Promise的HTTP库,可以摘浏览器和Node.js中发送Ajax请求。Ajax提供了简单的API,可以方便的处理请求和响应数据。

XMLHttpRequest对象

XMLHttpRequest对象支持的Ajax接口

方法描述
open(method,url,async)

method:请求的类型

url:资源在服务器上的位置

async:true(异步)或false(同步)

send(body)

将请求发送到服务器

body:消息体

addEventListener(eventname,callback)

检测进度

xhr.addEventListener(“progress”,updateProgress)

xhr.addEventListener(“load”,transferComplete)

xhr.addEventListener(“error”,transferFailed)

xhr.addEventListener(“abort”,transferCanceled)

load—— 当请求完成(即使 HTTP 状态为 400 或 500 等),并且响应已完全下载。

error—— 当无法发出请求,例如网络中断或者无效的 URL。

progress;—— 在下载响应期间定期触发,报告已经下载了多少。 

    XMLHttpRequest发送多种类型请求

    动作HTTP方法描述
    查询GET获取资源
    创建POST创建资源
    修改PUT更新资源
    删除DELETE删除资源

    JS原生Ajex接口

    增加POST

    document.querySelector("form").onsubmit = function (e) {// 避免页面刷新e.preventDefault();var name = document.querySelector(".name").value;// 1.新建XHMHttpRequest对象https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequestvar xhr = new XMLHttpRequest();// 2.添加监听xhr.addEventListener("load", function () {console.log(xhr.responseText);alert("添加成功");});// 3.做配置// post添加请求头https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/openxhr.open("post", "http://localhost:3000/goods");// 4.发送请求var param = { name: name };// 转换成JSON格式的字符串;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringifyxhr.send(JSON.stringify(param));};

    删除DELETE

    document.querySelector("form").onsubmit = function (e) {// 避免页面刷新e.preventDefault();var id = document.querySelector(".id").value;// 1.新建XHMHttpRequest对象var xhr = new XMLHttpRequest();// 2.添加监听xhr.addEventListener("load", function () {console.log(xhr.responseText);alert("删除成功!");});// 3.做配置// put修改请求头,使用拼接,采用模版字符串xhr.open("delete", `http://localhost:3000/goods/${id}`);// 4.发送请求xhr.send();};

    修改PUT

    document.querySelector("form").onsubmit = function (e) {// 避免页面刷新e.preventDefault();var name = document.querySelector(".name").value;var id = document.querySelector(".id").value;// 1.新建XHMHttpRequest对象var xhr = new XMLHttpRequest();// 2.添加监听xhr.addEventListener("load", function () {console.log(xhr.responseText);alert("修改成功!");});// 3.做配置// put修改请求头,使用拼接,采用模版字符串xhr.open("put", `http://localhost:3000/goods/${id}`);// 4.发送请求var param = { name: name };xhr.send(JSON.stringify(param));};

    查询GET

    function getuser() {// 1.创建XMLHttpRequest对象var xhr = new XMLHttpRequest();// 2.监听响应状态码xhr.addEventListener("load", function () {// 5.处理响应结果console.log(xhr.responseText);});// 3.设置请求xhr.open("GET", "http://localhost:3000/users", true);// 4.发送xhr.send();}


    Axios

    get请求步骤

    ​
    axios.get('https://localhost:3000/user').then(response => {// 处理成功情况console.log(response.data);}).catch(error => {// 处理错误情况console.error(error);}).finally(() => {// 总是会执行});​

    示例

    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js">
    //浏览器直接引入
    </script><script>// 渲染表格function renderTable(users) {const tbody = document.getElementById('userBody');tbody.innerHTML = users.map(user => `<tr><td>${user.id}</td><td>${user.name}</td><td>${user.sex === '1' ? '男' : '女'}</td><td>${user.birth}</td><td>${user.addr}</td><td><button onclick="prepareEdit('${user.id}')">编辑</button><button class="delete-btn" onclick="deleteUser('${user.id}')">删除</button></td></tr>`).join('');}//获取用户数据function getmessage() {axios.get("http://8.130.50.58:3000/users").then(res => {console.log(res)renderTable(res.data)/* console.log(renderTable(res.data)); */}).catch(err => {console.error(err);})}// 新增用户function addUser() {const id = document.getElementById('newId').value;const name = document.getElementById('newName').value;const sex = document.getElementById('newSex').value;const birth = document.getElementById('newBirth').value;const addr = document.getElementById('newAddr').value;axios.post("http://8.130.50.58:3000/users", {id,name,sex,birth,addr}).then(res => {console.log(res);alert("新增成功");getmessage();//清空表单document.getElementById('newId').value = '';document.getElementById('newName').value = '';document.getElementById('newSex').value = '';document.getElementById('newBirth').value = '';document.getElementById('newAddr').value = '';}).catch(err => {console.error(err);});}//删除用户function deleteUser(id) {axios.delete(`http://8.130.50.58:3000/users/${id}`).then(res => {console.log(res);alert("删除成功");getmessage();}).catch(err => {console.error(err);});}//编辑用户:点击编辑按钮后回显到表单function prepareEdit(id) {axios.get(`http://8.130.50.58:3000/users/${id}`).then(res => {console.log(res);const user = res.data;document.getElementById('editId').value = user.id;document.getElementById('editName').value = user.name;document.getElementById('editSex').value = user.sex;document.getElementById('editBirth').value = user.birth;document.getElementById('editAddr').value = user.addr;}).catch(err => {console.error(err);});}getmessage()//修改用户function updateUser() {const id = document.getElementById('editId').value;const name = document.getElementById('editName').value;const sex = document.getElementById('editSex').value;const birth = document.getElementById('editBirth').value;const addr = document.getElementById('editAddr').value;axios.put(`http://8.130.50.58:3000/users/${id}`, {name,sex,birth,addr}).then(res => {console.log(res);alert("修改成功");getmessage();})}</script>


    Fetch API

    GET 请求

    fetch('https://api.example.com/data').then(response => {if (!response.ok) {throw new Error('网络请求失败');}return response.json(); // 解析为 JSON}).then(data => {console.log('获取的数据:', data);}).catch(error => {console.error('请求错误:', error);});

    POST 请求

    const postData = {title: '新文章',content: '这是一篇使用 Fetch API 创建的文章'
    };fetch('https://api.example.com/posts', {method: 'POST',headers: {'Content-Type': 'application/json'},body: JSON.stringify(postData)
    })
    .then(response => response.json())
    .then(data => console.log('创建成功:', data))
    .catch(error => console.error('创建失败:', error));

    Content-Type参考HTTP content-type_weba的contenttype-CSDN博客

    http://www.yayakq.cn/news/635168/

    相关文章:

  1. 怎样做diy家具网站网站开发vs2013
  2. 网站建设 东营远见网络公司大厂县网站建设或SEO优化
  3. 二手车东莞网站建设手游游戏推广平台
  4. 可以发广告的网站学设计师学费要多少钱
  5. 给钱做任务的网站网站流量能打开wifi打不开
  6. 深圳集团网站建设哪家好重新安装一个微信
  7. flash网站源码下载网站开发用到什么技术
  8. 广州建站模板著名的国外设计网站有哪些
  9. 专业酒店设计网站建设wordpress 管理员登陆
  10. 石材做网站细节网站模板红黑
  11. 建设个人网站设计公司画册零感设计
  12. 园林企业建设网站网站首页页面代码
  13. 怎样建设个人网站广告赚钱成立公司后需要做的事情
  14. 如何建立营销型网站代理网址怎么设置
  15. 傻瓜建网站临海城市建设网站
  16. 网站空间送域名自己做网站需要啥
  17. 企业网站需要的模块惠州私人做网站联系人
  18. 网站的一般制作流程赣州一店面爆炸4死
  19. 食品 技术支持 东莞网站建设北京装饰公司排行 2019
  20. 网站定制业务怎么做网络推广
  21. 适合seo优化的站点永康城乡建设局网站
  22. 网站app开发费用wordpress模板调用数据库
  23. 网站制作 徐州aspnet网站开发实例教程
  24. 网站建设中的背景图片模板推广app赚钱项目
  25. 为什么我的网站备案通过还是显示未备案wordpress主机和域名绑定域名
  26. 门户网站 费用池州网站设计
  27. 汉中网站seo合肥网站建设工作
  28. 简历网站有哪些东莞住房与城乡建设官网
  29. 定制型网站一般价格中小企业网站制作
  30. 公司网站续费一年多少钱怎么模仿一个网站