上一个回答中 如果我后端写的是@Controller 不是@RestController怎么办
时间: 2023-08-16 12:14:33 浏览: 94
@Controller、@RestController注解区别详解
5星 · 资源好评率100%
如果您的后端使用的是 `@Controller` 而不是 `@RestController`,您可以按照以下步骤进行操作:
1. 在前端的 HTML 中,创建一个按钮元素,并使用 JavaScript 监听按钮的点击事件。
```html
<button id="submitBtn">提交</button>
```
2. 在 JavaScript 中,使用 AJAX 或 Fetch API 发送异步请求将数据传递给后端。
```javascript
document.getElementById("submitBtn").addEventListener("click", function() {
// 获取表单数据
var inputData = "your data";
// 发送异步请求
fetch("/your-backend-url?data=" + inputData, {
method: "GET"
})
.then(response => response.json())
.then(result => {
// 根据后端结果显示不同的窗口
if (result.success) {
alert("成功");
} else {
alert("失败");
}
})
.catch(error => {
console.error("请求错误:", error);
});
});
```
3. 在后端接收到请求并处理后,渲染不同的视图或返回一个表示成功或失败的模型。
```java
@Controller
public class MyController {
@GetMapping("/your-backend-url")
public String handleRequest(@RequestParam("data") String inputData, Model model) {
// 处理数据并根据结果渲染不同的视图
boolean success = processData(inputData); // 根据实际需求处理数据
// 将结果存储到模型中
model.addAttribute("success", success);
// 返回视图名称
return "result"; // 根据实际情况返回不同的视图
}
private boolean processData(String data) {
// 在这里进行你的业务逻辑处理
// 返回true表示成功,返回false表示失败
}
}
```
在这种情况下,您可以使用 GET 请求将数据作为查询参数传递给后端,并根据后端处理结果渲染不同的视图。请确保将 "/your-backend-url" 替换为实际的后端请求路径,并根据实际需求在后端处理数据的方法中编写逻辑。
阅读全文