promise封装一个jquery的ajax
时间: 2023-04-12 11:03:40 浏览: 91
Promise封装一个jQuery的ajax可以这样实现:
```javascript
function ajax(url, data) {
return new Promise(function(resolve, reject) {
$.ajax({
type: 'POST',
url: url,
data: data,
success: function(response) {
resolve(response);
},
error: function(error) {
reject(error);
}
});
});
}
```
这个函数接受两个参数:请求的URL和请求的数据。它返回一个Promise对象,可以使用.then()和.catch()方法来处理成功和失败的情况。在内部,它使用jQuery的$.ajax()函数来发送请求,并在成功或失败时调用resolve()或reject()函数。
相关问题
promise封装ajax
下面是一个使用 Promise 封装的 jQuery Ajax 请求:
```javascript
function ajaxRequest(method, url, data) {
return new Promise(function(resolve, reject) {
$.ajax({
method: method,
url: url,
data: data,
success: function(response) {
resolve(response);
},
error: function(error) {
reject(error);
}
});
});
}
```
这个函数接收三个参数:请求方法、请求地址和数据。它返回一个 Promise 对象,这个对象可以通过 `resolve` 和 `reject` 方法分别处理成功和失败的情况。在内部,我们使用 jQuery 的 `$.ajax()` 函数来发送请求,并且使用 `success` 和 `error` 回调函数来处理响应。如果请求成功,我们将响应作为参数传递给 `resolve` 函数并返回它。如果发生错误,我们将错误对象传递给 `reject` 函数并返回它。这样,在调用 `ajaxRequest()` 函数时,可以使用 `.then()` 方法来处理成功的情况,使用 `.catch()` 方法来处理失败的情况。
例如:
```javascript
ajaxRequest('GET', 'https://jsonplaceholder.typicode.com/todos/1')
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.error(error);
});
```
简单的promise封装
Promise封装一个jQuery的ajax可以这样实现:
```javascript
function ajax(url, data) {
return new Promise(function(resolve, reject) {
$.ajax({
type: 'POST',
url: url,
data: data,
success: function(response) {
resolve(response);
},
error: function(error) {
reject(error);
}
});
});
}
```
这个函数接受两个参数:请求的URL和请求的数据。它返回一个Promise对象,可以使用.then()和.catch()方法来处理成功和失败的情况。在内部,它使用jQuery的$.ajax()函数来发送请求,并在成功或失败时调用resolve()或reject()函数。