如何将javascript数组发送到rest服务

How to send javascript array to a rest service

本文关键字:rest 服务 数组 javascript      更新时间:2023-09-26

我有一个javascript数组,其中包含几个id。我想把它发送到我编写的rest webservice。这是我写的代码

$.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运行它时,它可以工作。但是当我在代码中运行它时,它不起作用。有什么建议吗?

使用以下代码片段

@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作为请求参数,但您正在从url中查找值。所以我改变了你的web服务的代码,我想它会解决你的问题。