angularjs提交JSON格式数据报403错误

北极憨豆 2015-12-08 04:14:20
问题:
客户端采用Ionic开发(基于angularjs)的应用,服务器端采用spring4的restful方式,使用get方式操作没有问题,数据返回json也没有问题,当客户端采用post方式时,在chrom浏览器方式调试也正常,即服务器可以得到提交的json数据并正确转换,但在手机设备上运行时报错,报403错误 (POST http://192.168.1.1:8080/MAP/api/v1/auth/signin 403 (Forbidden))服务器端无任何信息。

客户端代码:
var login = function(username, password) {
var user={'username': username ,'password':password};
var url=config.ApiBaseUrl +'/auth/signin';
return $http.post(config.ApiBaseUrl +'auth/signin',user,{'Content-Type':'application/json'})
.then(
function (response) {
console.log('login user='+response.data.content.account);
var AuthCode =response.data.code;
if('100'==AuthCode){
$user = response.data.content;
storeUserCredentials($user);
console.log('Login success.');
}
return AuthCode;
},
function (httpError) {
console.log('httpError='+JSON.stringify(httpError)); return AuthCode;
}
);
}

服务端代码:
@RequestMapping(value="/signin",method = RequestMethod.POST,consumes = "application/json")
public ResponseEntity<ResultModel> login(@RequestBody Account login) {
String username=login.getUsername();
String password=login.getPassword();
Assert.notNull(username, "username can not be empty");
Assert.notNull(password, "password can not be empty");

//省略其他代码

...全文
280 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
北极憨豆 2015-12-09
  • 打赏
  • 举报
回复
引用 1 楼 zyl_lyr1019 的回复:
我这里做个猜想,如果只是在手机上运行,而且报“403”,那么是不是你的服务器,限制了请求来源的IP地址等? 因为一般情况下,"get"和“post”是有区别的,而post的处理,一般都需要一些限制,所以~~
我服务器上未作限制,在浏览器上是可以提交的,就是手机上报了403错误,非常谢谢
似梦飞花 2015-12-09
  • 打赏
  • 举报
回复
看下服务端有什么拦截器没
张运领 2015-12-08
  • 打赏
  • 举报
回复
我这里做个猜想,如果只是在手机上运行,而且报“403”,那么是不是你的服务器,限制了请求来源的IP地址等? 因为一般情况下,"get"和“post”是有区别的,而post的处理,一般都需要一些限制,所以~~
编辑推荐 《精通AngularJS》指出AngularJS诞生于Google,已用于开发多款Google产品。它是一套JavaScript前端框架,用于开发当下流行的数据驱动的单页面Web应用。其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、依赖注入等。 作者简介 Pawel Kozlowski有15年以上的Web开发经验,接触过多种Web技术、语言和平台。他精通客户端和服务器端编程,并始终在寻找能提高生产率的工具和流程。Pawel是自由和开源软件的坚定支持者,他在AngularJS 社区非常活跃,为AngularJS项目贡献了大量的代码。他也对Angular UI (AngularJS的配套框架)有所贡献,并为AngularJS 提供了Twitter Bootstrap 相关的指令(directives)。不写代码时,Pawel 常在会议与活动上为AngularJS布道。 Peter Bacon Darwin已经积累了20年以上的编程经验,他在.NET发布之前,就已经用它工作了。他还对IronRuby的开发有所贡献。他曾在Avanade和IMGROUP做IT顾问。退休后,自由开发和照顾孩子占用了他大部分的时光。Peter是AngularJS社区的名人。他最近加入了Google的AngularJS团队。他还是Angular UI项目的创始成员。他曾在Devoxx UK和其他活动中发表过有关AngularJS的演讲,并开办过AngularJS的培训课程。他希望帮助企业更好地利用AngularJS。 目录 序1 第1章Angular之禅7 11邂逅AngularJS7 熟悉框架8 参与AngularJS项目8 社区8 在线学习资源9 库和扩展9 工具9 Batarang10 Plunker与jsFiddle10 IDE扩展和插件10 12AngularJS速成10 HelloWorld——AngularJS示例10 双向数据绑定12 AngularJS中的MVC模式12 鸟瞰13 深入作用域15 视图21 模块与依赖注入26 模块26 协作对象27 注册服务29 模块的生命周期33 模块依赖35 13AngularJS和其他框架38 jQuery与AngularJS39 苹果与橙子40 窥视未来41 14总结41 第2章构建与测试43 21介绍示例应用44 熟悉问题领域44 技术栈45 持久化存储46 MongoLab46 服务器端环境47 第三方JavaScript库48 BootstrapCSS48 22构建系统48 构建系统准则49 自动化所有事情49 尽早错,清晰错49 不同的工作流,不同的命令50 构建脚本同样是代码50 工具50 Gruntjs51 测试库与工具51 Jasmine51 Karmarunner52 23组织文件和目录52 根目录52 进入源代码目录54 AngularJS的特定文件54 轻装上路56 深入测试目录57 文件命名约定57 24AngularJS模块和文件57 一个文件,一个模块58 模块内部59 注册provider的不同语法59 声明配置和运行块的语法61 25自动化测试62 单元测试63 剖析Jasmine测试64 测试AngularJS对象65 测试服务65 测试控制器67 Mock对象和异步代码测试68 端对端测试70 日常工作流71 Karmarunner的提示与技巧72 执行测试子集73 调试73 26小结74 第3章与后端服务器通信75 31使用$http进行XHR和JSONP请求75 熟悉数据模型和MongoLabURLs76 $httpAPI快速导览76 配置对象说明77 转换请求数据78 处理HTTP响应79 转换响应数据79 处理同源政策约束79 利用JSONP克服同源政策约束80 JSONP的限制81 利用CORS克服同源政策约束81 服务器端代理83 32promiseAPI与$q84 工作中的promise和$q服务85 学习$q服务的基础知识85 promise是第一类JavaScript对象87 聚合回调88 注册回调和承诺的生命周期88 异步动作的链式调用89 关于$q的其他91 AngularJS中的$q集成93 33promiseAPI与$http94 34与RESTful端点通信95 $resource服务95 构造级与实例级方法97 $resource创建异步方法100 $resource服务的限制101 使用$http自定

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧