Ajax Cross Domain Call不会成功

时间:2014-05-28 05:41:13

标签: jquery ajax json spring-mvc

您好我开发了一个使用Spring mvc的Web应用程序。我有一个返回JSON数据的方法。当我调用该方法时,它将返回JSON数据。

但是当我使用AJAX从单独的HTML页面调用相同的方法时,它不会成功。

Spring方法

@RequestMapping(value="/ManageDepartmentsMOb",method=RequestMethod.GET)
public @ResponseBody List<?> manageDepartmentsMob(ModelMap model,HttpServletRequest request,HttpServletResponse response) throws JsonGenerationException, JsonMappingException, IOException
 {
   List<DepartmentManagement> deptList = departmentManagementService.findAll();  
   return deptList;
 }

我的外部HTML页面的ajax调用

$.ajax({
      type : "GET"
      url : "http://localhost:8080/sta/ManageDepartmentsMOb",
      dataType : "JSONP",
      success : function(data)
      {
              alert("Success");
      }

});

当我直接调用我的spring方法时,它会返回JSON数据,如屏幕截图所示。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试在Web.config中添加它。

 <system.webServer>      
            <httpProtocol>
                <customHeaders>
                   <add name="Access-Control-Allow-Origins" value="*" />
                </customHeaders>
            </httpProtocol>
      </system.webServer>

还尝试从您的方法返回Json,如

return Json(deptList, JsonRequestBehavior.AllowGet);