Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

ajax封装 php(ajax封装promise)

作者:邪天血战   发布日期:2025-11-02   浏览:546

下面是一个简单的示例,演示了如何使用Promise封装Ajax请求:

function ajax(url, method, data) {
  return new Promise(function(resolve, reject) {
    var xhr = new XMLHttpRequest();
    xhr.open(method, url, true);
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.onreadystatechange = function() {
      if (xhr.readyState === XMLHttpRequest.DONE) {
        if (xhr.status === 200) {
          resolve(JSON.parse(xhr.responseText));
        } else {
          reject(xhr.statusText);
        }
      }
    };
    xhr.onerror = function() {
      reject(xhr.statusText);
    };
    xhr.send(JSON.stringify(data));
  });
}

// 示例用法
ajax('example.com/api', 'POST', { name: 'John', age: 30 })
  .then(function(response) {
    console.log('请求成功:', response);
  })
  .catch(function(error) {
    console.error('请求失败:', error);
  });

在上面的示例中,ajax函数接收三个参数:URL、请求方法和请求数据。它返回一个Promise对象,可以使用.then().catch()方法来处理成功和失败的回调。

在内部,我们使用XMLHttpRequest对象来发送Ajax请求。当请求状态改变时,我们检查是否已完成,并根据状态码决定是解析响应并解析为JSON对象,还是拒绝Promise并传递状态文本作为错误信息。

请注意,此示例假设您已经包含了Promise的polyfill或使用了支持Promise的现代浏览器。

上一篇:php联动html(php link)

下一篇:php如何过滤错误参数(php如何过滤错误参数数据)

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php+mysql动态网站开发

phpmyadmin docker

php session id

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站