我有一个包含几个ID的javascript数组。我想将它发送到我写过的休息网络服务。这是我的代码 -
$.ajax({
type : 'GET',
url : 'http://localhost:portNo/GlassdoorWebProject/index/getJobsData/list/',
crossDomain : true,
data : JSON.stringify(allIds),
contentType: "application/json",
success : function(data){
alert("success in call2");
},
error : function(XMLHttpRequest,textStatus, errorThrown) {
alert("error");
}
});
当我执行此代码时,我收到一个警告框,显示错误。这就是我的Web服务中的方法的样子 -
@RequestMapping(value = "/getJobsData/list/{ids}", method = RequestMethod.GET)
public List<JobDetails> getJobs(@PathVariable("ids") String jobIds) {
System.out.println("ids"+jobIds);
return jobService.getJobDataForIds(jobIds);
}
当我在浏览器中使用浏览器中的url运行它时,它可以工作。但是,当我通过代码运行它时它不起作用。有什么建议吗?
答案 0 :(得分:1)
使用此代码段
@RequestMapping(value = "/getJobsData/list/", method = RequestMethod.GET)
public List<JobDetails> getJobs(@RequestParam("ids") String jobIds) {
System.out.println("ids"+jobIds);
return jobService.getJobDataForIds(jobIds);
}
主要问题是您将id作为请求参数发送,但您正在查看网址中的值。所以我改变了你的网络服务的代码,我认为它将解决你的问题。