【问题标题】:Unable to hit Spring Controller from angular js using jsonp request无法使用 jsonp 请求从 Angular js 访问 Spring Controller
【发布时间】:2016-12-05 19:54:34
【问题描述】:

我正在尝试实现 Spring 与 Angular js 的集成。我正在从我的 js 文件中发出 jsonp 请求。但是我收到一个本身并不清楚的错误。我尝试使用发布请求,但它给出了预期的 CORS 错误,我想避免额外的开销,因此决定继续使用 jsonp。 我也尝试使用 https,但它给出了 SSL 协议错误,这也是意料之中的。但我不知道这里发生了什么错误。

services.js

angular.module('myApp').factory('UserService', ['$http', function($http){
return{
    createUser: function(user){

        var url="http://localhost:8083/HCP_Android_Demo/user?user="+user+"&callback=JSON_CALLBACK";
        return $http.jsonp(url).success(function(data) {
            console.log(data);
            return data;
        });
    }
};
}]);

用户控制器.js

@Controller
 public class UserController {

@RequestMapping(value="/")
public String index() {
    return "Login";
}
@RequestMapping(value="/user",method={RequestMethod.POST,RequestMethod.GET})    
@ResponseBody
public void createUser(@RequestParam("user") User user,@RequestParam("callback") String callBackFunction){
    System.out.println("Creating User " + user.getUsername());

} 

控制台错误

angular.js:10573 GET http://localhost:8083/HCP_Android_Demo/user?user=[object%20Object]&callback=angular.callbacks._0 

【问题讨论】:

    标签: angularjs spring-mvc jsonp


    【解决方案1】:

    您正在尝试将对象作为 url 参数发送。您可以使用 POST 并发送对象,也可以将您的用户转换为字符串(如果适合您)

    【讨论】:

    • 非常感谢..!!有效。我想在这里发出 post 请求,以便在另一侧使用 hibernate 来轻松保存用户详细信息,但我无法处理 CORS 错误,这就是我选择 JSONP 的原因。
    猜你喜欢
    • 2019-05-25
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    相关资源
    最近更新 更多