请帮帮我,我正在用spring在java上写一个站点,我需要将请求发送到servlet,但是我得到了错误404。
我的html:
<input type="button" value="add" onclick="sendRequest()">
my js:
function sendRequest(){
var str = "this is string";
$.ajax({
url:"ajaxtest",
type:"POST",
//data:JSON.stringify(myJson).toString(),
data:str,
success: alert("good")
});}
我的控制器:
@RequestMapping(value="ajaxtest", method=RequestMethod.POST)
public void getAjax(String myStr){
System.out.print("result : "+myStr);
}
结果控制台浏览器:
POST http://localhost/MyProject/ajaxtest 404 (Not Found)
m.ajaxTransport.send - jquery-1.11.2.min.js:4
m.extend.ajax - jquery-1.11.2.min.js:4
sendRequest - add.jsp:139
onclick - add.jsp:213
结果控制台ide:
INFO: Server startup in 2991 ms
result : null
请帮帮我!
发布于 2015-03-03 01:13:37
有几个项目,你需要做,以使它的工作。我的答案是基于张贴的信息。
ajax数据必须是如下所示的键值对,才能发送简单的字符串。
function sendRequest(){
var str = "this is string";
$.ajax({
url:"ajaxtest",
type:"POST",
//data:JSON.stringify(myJson).toString(),
data:{myStr:str},
success: alert("good")
});}
您必须告诉spring如何在控制器方法上解析myStr,否则Spring将无法知道如何解决它。在我们的例子中,我们将使用@RequestParam注释,它告诉spring从请求参数获得它。
@RequestMapping(value="ajaxtest", method=RequestMethod.POST)
public void getAjax(@RequestParam String myStr){
System.out.print("result : "+myStr);
}
发布于 2015-03-03 01:58:27
在控制器中,更改:
public void getAjax(String myStr) {
至:
public void getAjax(@RequestBody String myStr) {
@RequestBody
告诉Spring使用请求的内容作为控制器方法的参数。
https://stackoverflow.com/questions/28819673
复制相似问题