在jquery中单击提交按钮时,进行了以下ajax调用,但其成功功能不起作用。

                $.ajax({
                    url: "hai.htm",
                    type: "POST",
                    dataType: "application/json",
                    data:{
                        name:name,
                        pass:pass,
                       },
                    success: function (data) {
                        alert("success");
                     var obj = JSON.parse(data);
                      alert(obj[0].name);
            }
             error: function (error) {
                alert('error; ' + eval(error));
                console.log(error);
            }
                })


控制器类图像显示在这里

我的控制器类是

package com.safecare.spring;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
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;

@Controller
public class controller {

    @RequestMapping(value = "hai")
    public @ResponseBody Map hai(@RequestParam(value = "name",required = false) String name,@RequestParam(value = "pass",required = false) String pass) {
        Map ma=new HashMap();
       ma.put("name", name);
       ma.put("pass", pass);
        System.out.println(name);

        return ma;

    }
}


错误消息如下:
“该请求所标识的资源仅能够生成具有根据请求“接受”标头不可接受的特征的响应。”

最佳答案

尝试这个

@Controller
@RequestMapping("/controllerName")
public class Controller{
    @RequestMapping(value="/hai", ... )
    public @ResponseBody String hai( ... ) {
        JSONObject obj = new JSONObject();
        obj.put("name", name);
        obj.put("pass", pass);
        return obj.toString();
    }
}


然后将您的ajax更新为

               $.ajax({
                    url: "/ContextPath/controllerName/hai",
                    type: "POST",
                    dataType: "json",
                    data:{
                        name:name,
                        pass:pass,
                    },
                    success: function (data) {
                        alert("success");
                        alert(data.name);
                    },
                    error: function(){
                        alert("Error");
                    }
                });


在网址中,将“ / ContextPath”替换为上下文路径。

10-04 21:02