【发布时间】:2018-05-01 00:05:31
【问题描述】:
我正在使用 Spring Boot 创建 API。在这个项目中,我使用了spring web、JPA、jstl和MySql作为API的依赖。在这个项目中,我创建了一个控制器、模型和存储库。基本上,这个 API 执行 CRUD 操作。我还创建了一个使用我自己的 API 的客户端。当我使用 Postman 发布数据时,它成功地将数据插入数据库并给了我 200 OK 代码。然后我创建了网页并创建了一个 html 表单并使用 Ajax 来获取该数据。但问题是当我单击表单中的插入按钮时,它给了我这个错误。
白标错误页面
这个应用程序没有明确的 /error 映射,所以你看到 这是一个后备。
2018 年 5 月 1 日星期二 05:16:48 IST 出现意外错误 (类型=不允许的方法,状态=405)。请求方法'POST'不是 支持
我该如何解决这个问题??
我的控制器:
package com.kisalka.pacrestapi.controller;
import java.util.List;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import com.kisalka.pacrestapi.repository.ImRepository;
import com.kisalka.pacrestapi.model.ImModel;
@RestController
@RequestMapping("/api")
public class ImController {
@Autowired
private ImRepository TaskRepository;
@RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(@RequestBody ImModel note) {
return TaskRepository.save(note);
}
}
我的网页:
<form class="form-horizontal" method="POST" action="">
<div class="form-group">
<label class="control-label col-md-3">Project Name</label>
<div class="col-md-7">
<input type="text" class="form-control" name="pname" id="txtPname"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Developer Name</label>
<div class="col-md-7">
<input type="text" class="form-control" name="devname" id="txtDevname"/>
</div>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Save" id="btnRegister"/>
</div>
</form>
jQuery 和 Ajax 部分:
<script type="text/javascript">
$(document).ready(function () {
// Save the new user details
$('#btnRegister').click(function () {
$.ajax({
url: '/api/tasks',
method: 'POST',
data: {
pname: $('#txtPname').val(),
devname: $('#txtDevname').val()
},
success: function () {
alert("Inserted");
},
error: function (jqXHR) {
$('#divErrorText').text(jqXHR.responseText);
$('#divError').show('fade');
}
});
});
});
</script>
【问题讨论】:
-
为什么你有一个带有提交按钮的表单和一个ajax请求?奇怪的是表单首先被提交,这意味着请求被发送到“”,这可以解释为什么你会得到一个
405: Request method 'POST' not supported
标签: java jquery ajax spring spring-boot