0

我的 AJAX 调用:

var url = "UsersGroupReader.html?selectedCompanyName=" + selectedCompanyName + "&test="+Math.random();
req.onreadystatechange = processAccessGroupRequest;
req.open("GET", url, true); 
req.send(null);

function processAccessGroupRequest() {
    if (req.readyState == 4) {
        alert("req.status : " + req.status)
    if (req.status == 200) {
            var message = req.responseXML
            alert("message " + message);
            if (message == "No Database Connection") {
                alert("Please check the database connection");
            } else if (message == "DataDeleted") {
                //alert("Data has been deleted from Database. Please LOGOUT and try again");
                alert("Access Denied");
            } else {
                //setAccessGroups(message);
            }
        }
    }
}

这是我的控制器

@RequestMapping(value = "Jsp/UsersGroupReader.html", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Vector<String> readUsersGroup(HttpServletRequest request,
        HttpSession httpSession) {
        .....
        .....
        return Vector;

req.responseXML是_null

返回的vector对象是要读取的javascript但是不知道怎么办?谁能帮帮我吗?

4

1 回答 1

0

您需要更改处理此 ajax 请求的控制器方法的返回类型。返回类型应该是您想要在 jsp 中使用的对象类型的类。例如。List<String>或您拥有的任何其他自定义类。

而且您还必须@ResponseBody在处理此请求的控制器函数上声明注释。jackson-core-asl而且您还需要像jackson-core-mapper1.5 版这样的 JSON 库。这会将您的返回类型类对象转换为 JSON 对象,您将得到响应。你的@RequestMapping注释应该声明produces=MediaType.APPLICATION_JSON_VALUE.

产生属性的语法。

@RequestMapping(value = "/xxx/yyy", method = RequestMethod.POST, produces=MediaType.APPLICATION_JSON_VALUE)

我希望这可以帮助你。

于 2013-02-07T13:24:25.770 回答