JS AJAX POST请求

Emiya_Zero 2016-05-13 11:36:22


var parameter = {
uid:user_role.data.user.uid,
checkedStr:checkedStr
};


$.post("roleAction_saveRole.action",parameter,function(data){
alert("保存成功");
});


在这个post请求中定义了一个请求参数数组,但是当数组中的checkedStr为""及为空的时候就不能提交到后台,只有checkedStr有值的时候才能提交到后台有大神能告诉我为什么!!!
...全文
430 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2016-05-14
  • 打赏
  • 举报
回复
问后台 这个参数为空可以吗?
Emiya_Zero 2016-05-14
  • 打赏
  • 举报
回复
引用 12 楼 net_lover 的回复:
你后台所有其他代码都删除掉,只留 public void setCheckedStr(String checkedStr) { this.checkedStr = checkedStr; } 然后exexute里面打印 看还报错吗
谢谢啊,发现原来不是赋值错了,还是代码的问题谢谢了!
孟子E章 2016-05-14
  • 打赏
  • 举报
回复
你后台所有其他代码都删除掉,只留 public void setCheckedStr(String checkedStr) { this.checkedStr = checkedStr; } 然后exexute里面打印 看还报错吗
Emiya_Zero 2016-05-14
  • 打赏
  • 举报
回复
引用 9 楼 net_lover 的回复:
String类型可以为null的 var parameter = { uid:user_role.data.user.uid, checkedStr:“” }; 你试试。如果这样可以 说明 js中的checkedStr取值的时候有问题,至少没值的时候需要传一个空字符串
if(checkedStr==""){
						checkedStr="null";
					}
我只有这样处理才能够传到后台不报错
Emiya_Zero 2016-05-14
  • 打赏
  • 举报
回复
引用 9 楼 net_lover 的回复:
String类型可以为null的 var parameter = { uid:user_role.data.user.uid, checkedStr:“” }; 你试试。如果这样可以 说明 js中的checkedStr取值的时候有问题,至少没值的时候需要传一个空字符串
就是当 checkedStr:“”为空的时候就会报错,不知道为啥
孟子E章 2016-05-14
  • 打赏
  • 举报
回复
String类型可以为null的 var parameter = { uid:user_role.data.user.uid, checkedStr:“” }; 你试试。如果这样可以 说明 js中的checkedStr取值的时候有问题,至少没值的时候需要传一个空字符串
Emiya_Zero 2016-05-14
  • 打赏
  • 举报
回复
引用 6 楼 net_lover 的回复:
打了断点都进不去 还有一种可能,就是struts的拦截的时候就错了,还没到你的java代码这一层。 如果还调试不好 建议你贴你的参数格式和后台java使用该参数的代码
public void setCheckedStr(String checkedStr) {
		this.checkedStr = checkedStr;
	}
通过struts2 将传入的的checkedStr传入后台,但是当checkedStr为空的时候是不是不能够将checkedStr传给string类型的checkedStr
Emiya_Zero 2016-05-14
  • 打赏
  • 举报
回复
引用 6 楼 net_lover 的回复:
打了断点都进不去 还有一种可能,就是struts的拦截的时候就错了,还没到你的java代码这一层。 如果还调试不好 建议你贴你的参数格式和后台java使用该参数的代码
刚刚看了下返回来的data,原来是有一段报错信息,也没在eclipse中显示,原来并不是没有提交过去,而是后台直接报错返回到data中了,也没有进入方法!
孟子E章 2016-05-14
  • 打赏
  • 举报
回复
1,提交的时候看前端是否报js错误,使用Firefox调试js比较方便 2,可能是缓存的问题,"roleAction_saveRole.action?t=" + (new Date()).getTime() 试试
孟子E章 2016-05-14
  • 打赏
  • 举报
回复
打了断点都进不去 还有一种可能,就是struts的拦截的时候就错了,还没到你的java代码这一层。 如果还调试不好 建议你贴你的参数格式和后台java使用该参数的代码
Emiya_Zero 2016-05-14
  • 打赏
  • 举报
回复
引用 3 楼 net_lover的回复:
你java中定义的类型允许为null的类型就应该没问题,另外可以把java中接收到的内容打印出来,看看是什么内容。 关键的2个地方: checkedStr的格式 java中接收参数的定义和使用
主要是没有提交到后台,我在action方法中打了断点都进不去!
孟子E章 2016-05-14
  • 打赏
  • 举报
回复
你java中定义的类型允许为null的类型就应该没问题,另外可以把java中接收到的内容打印出来,看看是什么内容。 关键的2个地方: checkedStr的格式 java中接收参数的定义和使用
hookee 2016-05-13
  • 打赏
  • 举报
回复
为空应该还是能递交的,用 F12 开发者工具 网络跟踪一下递交的情况。 可能是 后台程序在字段为空时报错。

87,910

社区成员

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

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