action请求时如何携带参数
时间: 2024-10-13 07:08:20 浏览: 22
在JavaScript中,当你需要在发送`action`请求时携带参数,通常有两种常见的方式:
**1. URL查询字符串(Query Parameters):**
如果你的API支持GET请求并允许在URL中传递参数,你可以使用`URLSearchParams`配合`fetch`或`axios`:
```javascript
const dictId = "9b014c01-f58c-438e-a92e-ff68e87b2653";
const url = new URL("http://localhost:88/api/baseDictExtend/uploadSubDoc", window.location.href).searchParams.append("dictId", dictId);
// 使用fetch
fetch(url.toString())
.then(response => response.json())
.then(data => handleResponse(data))
.catch(error => handleError(error));
// 或者使用axios
axios.get(url.toString(), { params: { dictId } })
.then(response => handleResponse(response.data))
.catch(error => handleError(error));
```
**2. POST请求(JSON Body):**
对于POST、PUT等需要发送数据体的请求,你可以将参数放在`data`或`body`字段中:
```javascript
const dictId = "9b014c01-f58c-438e-a92e-ff68e87b2653";
const data = { dictId };
// 使用fetch
fetch("http://localhost:88/api/baseDictExtend/uploadSubDoc", {
method: 'POST',
headers: { 'Content-Type': 'application/json' }, // 标记为JSON数据
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => handleResponse(data))
.catch(error => handleError(error));
// 或者使用axios
axios.post("http://localhost:88/api/baseDictExtend/uploadSubDoc", { dictId })
.then(response => handleResponse(response.data))
.catch(error => handleError(error));
```
在上述示例中,`handleResponse`和`handleError`是你自定义的处理响应或错误的函数。
阅读全文