起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1999|回复: 6

[处理中3] 手机端ajax不能提交数据的问题

[复制链接]

2

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
QQ
发表于 2018-12-2 15:19:30 | 显示全部楼层 |阅读模式
之前用ajax的get请求数据的时候一直获取不到数据,后来把contentType : 'application/json'给去掉就能请求到数据了,但是post提交数据的时候又必须用到contentType : 'application/json',所以又访问不到接口了,这是什么问题?(PC端可以正常,只有手机端才有异常)
2.png 3.png

2

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
QQ
 楼主| 发表于 2018-12-2 15:20:49 | 显示全部楼层
1.png
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
发表于 2018-12-20 16:42:19 | 显示全部楼层
同样的问题,平台用ajax的post方式传参的话是不是少个json解析库?百度了一下,看有如下这么说的,不知道平台是不是也要集成一下才可以?坐等版主确认

  1. 配置请求数据类型为:

  2. contentType: "application/json;charset=utf-8",额……问题来了。

  3. ② 415 Unsupported Media Type

  4. 这是响应的错误码,直译就是不支持的媒体类型。既然是服务器响应的,那就是说服务器不支持媒体类型。

  5. 我配置的数据类型为json,用的Spring MVC,那就是需要增加Spring的json数据支持。

  6. 查询对比了一下,发现jackson库是JSON封装解析效率比较高,开发比较活跃的库。

  7. ③ 下载jackson库

  8. 从好几个mvn仓库中下载的版本竟然是错误的,弄的我差点开始怀疑人生。

  9. 最后还是从官网连接的仓库中下载了正确的版本。

  10. 理论上除了导入jackson库,还需要适当的配置让Spring支持JSON解析。
  11. 但是一个<context:annotation-config />配置就自动的完成了相关配置。
  12. 省事了,也会让人有些疑惑。凡事没有绝对吧。
复制代码
传说中路过
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
发表于 2018-12-24 09:24:57 | 显示全部楼层
wex5平台ajax发送post请求的问题,版主不知道有解决办法没???搜了一下论坛没找到相关问题的指点意见,百度的一些方法在平台上没效果
传说中路过
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2018-12-24 09:49:49 | 显示全部楼层
你是用的baas  服务吗?  如果是用的baas  并且 使用的是  action   那么是不能直接传  'application/json'  的  原因是:action 编译那里会自动转化参数。
所以  你这种情况有两种方法来处理:
1.不用baas  自己写后台,并且后台支持接收'application/json'
2.不用'application/json'    把要传的  json 数据   转化为json字符串再传
比如:
                        var swiperdata = JSON.stringify(this.comp("swiperdata").toJson({
                                "format" : "simple"
                        }).rows);
                        var url = "/baas/XXXX";
                        url = require.toUrl(url);
                        $.ajax({
                                type : "post",
                                async : false,
                                url : url,
                                cache : false,
                                data : {
                                        "swiperdata" : swiperdata
                                },


就是用  JSON.stringify()方法吧json转化为json字符串,转化后是一个字符串   
在后台中通过
String swiperdata = request.getParameter("swiperdata");
获取到这个json字符串  
再用  JSONArray jsonArray = JSONArray.parseArray(swiperdata);或JSONObject jsons = JSONObject.parseObject(swiperdata);
将字符串转换成json数组或json对象
然后后台该怎么操作就怎么操作了······
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
发表于 2018-12-27 14:29:23 | 显示全部楼层
doudou459 发表于 2018-12-24 09:49
你是用的baas  服务吗?  如果是用的baas  并且 使用的是  action   那么是不能直接传  'application/json' ...

如果只在前端js里使调用ajax的话,需要怎么实现呢??直接加header和content-type参数都不行,绕不过options的预请求,报错依旧
传说中路过
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2019-1-23 16:49:08 | 显示全部楼层
js中使用ajax就跟html中是一样的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-26 19:49 , Processed in 0.081772 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表