Я пытаюсь сделать запрос, используя jQuery, но это приводит к ошибке 400 Bad request, и я не могу сказать, почему…
Мой класс контроллера Java
Предполагается, что он обрабатывает jQuery. получить запрос, (с использованием Spring MVC Framework)
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.virtusa.recruitment.DAO.EmployeeSearch;
import com.virtusa.recruitment.DAO.EmployeeSearchImp;
@Controller
public class SearchController {
@RequestMapping(value = "/Search")
public @ResponseBody
ModelAndView search(@RequestParam("ename") String ename, @RequestParam("name") String name) {
ModelAndView model = new ModelAndView("SearchView");
System.out.println(ename + " " + name);
EmployeeSearch search = new EmployeeSearchImp();
if (ename == "id") {
model.addObject("SearchDetails", search.searchById(name));
}
if (ename == "name1") {
model.addObject("SearchDetails", search.searchById(name));
}
if (ename == "phone") {
model.addObject("SearchDetails", search.searchById(name));
}
if (ename == "email") {
model.addObject("SearchDetails", search.searchById(name));
}
System.out.println(model);
return model;
}
}
Javascript код:
<script type="text/javascript">
$(function() {
var name1;
var value;
$(".drop").change(function() {
$(".key").remove();
$(".button1").remove();
$(".b1").remove();
$(".b2").remove();
value = $(this).children("option:selected").val();
name1 = $(this).children("option:selected").attr("name");
//alert(name+" "+val);
$(".part3").append("<input type='text' class='key' name='key'/><br
class = 'b1' > < br class = 'b2' > ");
$(".part3").append("<input type='submit' class='button1'
value = 'submit' / > ");
$(".button1").click(function() {
$(".col2").empty();
var ename = $(".key").attr("name");
var val = $(".key").val();
<!-- here i am making a request using get function -->
$.get("Search", {
ename: val,
name1: value
}, function(responseText) {
$(".col2").append(responseText);
$(".key").remove();
$(".button1").remove();
});
});
});
});
</script>
</head>
html код:
<body>
<div class="row">
<h1 style="text-align:center;margin-top:50px;
color:#E85360">Hey! Welcome</h1>
<h1 style="text-align:center;margin-top:20px; color:#E85360">Start Search For Data </h1>
</div>
<div class="column">
<div class="col1">
<div class="part1">
<h1 style="text-align:center">Select employees details by:
</h1>
<select class="drop">
<option></option>
<option class="op" name="id">id</option>
<option class="op" name="phone">phone</option>
<option class="op" name="email">Email</option>
<option class="op" name="name1">Name</option>
</select>
</div>
<div class="part3"></div>
</div>
<div class="col2"></div>
</div>
</body>
Появляется следующая ошибка:
error: jquery-3.4.1.js:9837 GET http://localhost:1008/Reruitment/Search?
ename=8063579&name1=id 400