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

QQ登录

只需一步,快速开始

查看: 1902|回复: 5

[结贴] 求教,sendRequest传参,总是为null

[复制链接]

33

主题

122

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2016-3-25 11:32:42 | 显示全部楼层 |阅读模式
我在做一个jcrop图片裁剪后上传的功能,很奇怪,jcrop的裁剪参数都可以传值成功,但是文件名却死活传不上去,请问是什么原因?
我的步骤为:
1、定义全局变量:var fileName = "";
2、在上传按钮的change事件里给fileName赋值
  1. $("#up_img").on("change", function() {
  2. self.jcropAPI = $.Jcrop('#cropbox', {
  3. aspectRatio : 160 / 120,
  4. bgOpacity : 0.5,
  5. bgColor : 'white',
  6. keySupport : true
  7. });
  8. self.jcropAPI.setSelect([ 50, 65, 50 + 160, 65 + 120 ]);
  9. self.jcropAPI.setOptions({
  10. bgFade : true
  11. });
  12. self.jcropBin = true;
  13. $("#up_img").attr("disabled", "disabled");
  14. self.comp("btn_CutReset").set({
  15. "disabled" : false
  16. });

  17. self.fileName = $("#up_img").val();
  18. debugger;
  19. alert(self.fileName);

  20. });
复制代码


然后通过sendRequest调用baas服务
  1. this.curPos = this.jcropAPI.tellSelect();
  2. var self = this;
  3. alert(this.fileName); //这里运行的时候可以弹出文件名
  4. //debugger;
  5. justep.Baas.sendRequest({
  6. "url" : "/vjums/Vjums",
  7. "action" : "uploadImg",
  8. "async" : false,
  9. "params" : {curpos: this.curPos,filename:this.fileName},
  10. "success" : function(data) {
  11. alert(data.filename);
  12. self.upload_RetFilename = data.filename;
  13. }
  14. });
复制代码


服务端接收并打印接收值
  1. JSONObject ret = new JSONObject();
  2. System.out.println(params.get("curpos"));  //这里输出的是正常数据
  3. System.out.println(params.getString("filename"));   //这里输出的始终为null
  4. ret.put("filename", params.getString("filename"));
复制代码


QQ截图20160325112327.jpg
请问如何解决??


发表于 2016-3-25 14:13:02 | 显示全部楼层
你在sendRequest 外层
定义 var me = this;
方法中 写 成这样试试
this.fileName

或者直接先写死个常量字符串试试!

这个应该没啥区别,既然一个参数可以传值,另一个也肯定可以的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

33

主题

122

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
 楼主| 发表于 2016-3-25 16:39:01 | 显示全部楼层
本帖最后由 ljgood09 于 2016-3-25 16:42 编辑

我试过在sendRequest外部定义,var self = this,在方法中写的self.fileName,返回的还是null,在sendRequest外部alert(this.fileName);是有值的,刚试了下,直接传"params" : {"curpos": this.curPos,"filename":"测试文件名.jpg"},返回的都是null,怎么回事?
回复 支持 反对

使用道具 举报

发表于 2016-3-25 17:18:52 | 显示全部楼层
ljgood09 发表于 2016-3-25 16:39
我试过在sendRequest外部定义,var self = this,在方法中写的self.fileName,返回的还是null,在sendRequest ...

这就奇怪了!那你改个名字试试吧!不要用filename 了
或者先把curpos 去掉!只传一个参数,
或者把filename 放在前边的参数里!再试试!

这个只有多试试才能找到原因!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

33

主题

122

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
 楼主| 发表于 2016-3-25 17:22:24 | 显示全部楼层
好的,我试试,谢谢版主的及时回复
回复 支持 反对

使用道具 举报

33

主题

122

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
 楼主| 发表于 2016-3-28 10:13:30 | 显示全部楼层
已经试过了,不是传参的问题,应该是缓存的问题,我今天来打开什么都没有改就OK了,可以结贴了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 16:55 , Processed in 0.078373 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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