Javascript问题。 对象值的获取。

yixunchenhua 2011-12-15 03:20:15
采用 ajaxfileupload.js 上传文件,返回类型为 text。

success: function (data, status)            //相当于java中try语句块的用法
{
alert(data);
if((data+"")=="success"){
alert("123");
} }



为什么 alert(data); 时弹出的提示框 中 显示 success , 但是 alert("123"); 不执行呢?
...全文
162 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixunchenhua 2011-12-15
  • 打赏
  • 举报
回复
10楼正解!
yixunchenhua 2011-12-15
  • 打赏
  • 举报
回复
$.ajaxFileUpload({
url: "programUpdate.do?readerId="+$("#readerId").val(),
secureuri:false,
fileElementId:"uploadFile",
dataType: "text",
cache: false,
success: function (data, status) //相当于java中try语句块的用法
{
//$("#dateSending").dialog("destroy");
if(data=="success"){
alert("213");
}else if(data=="error"){
alert("423");
}else if(data=="fileerror"){
alert("234234");
}else{
alert("234234234");
}
},
error: function (data, status, e) //相当于java中catch语句块的用法
{
showMessage("#optionFailure");
}
});



前台JS
yixunchenhua 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 soonfei 的回复:]

引用 9 楼 zsx841021 的回复:
data=="success"试下。。。

就这一句,就行,
我都用了几个月了。
[/Quote]

 if(data=="success"){
alert("213");
}else if(data=="error"){
alert("423");
}else if(data=="fileerror"){
alert("234234");
}else{
alert("234234234");
}



最后一个alert() 执行了。。。
诺维斯基 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zsx841021 的回复:]
data=="success"试下。。。
[/Quote]
就这一句,就行,
我都用了几个月了。
qq307023807 2011-12-15
  • 打赏
  • 举报
回复
data.replace(/(^\s*)|(\s*$)/g, "")=="success"
三石-gary 2011-12-15
  • 打赏
  • 举报
回复
data=="success"试下。。。
yixunchenhua 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zsx841021 的回复:]

引用 6 楼 yixunchenhua 的回复:

alert(date+""); alert(data.length) 用这2个测试。 都没弹出。。。

都没弹出是什么意思。。我们的意思是让你看看alert(date+"");得到什么值。。然后你再去改你的判断条件。。明白?!
if((data+"")=="success"){
……
[/Quote]

456 输出了。


那怎么让 data=="success" 成立呢? data 是 ajaxfileupload.js 上传控件返回的值,我设置的格式是 text。

后台是

HttpServletResponse  response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("success");
三石-gary 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yixunchenhua 的回复:]

alert(date+""); alert(data.length) 用这2个测试。 都没弹出。。。
[/Quote]
都没弹出是什么意思。。我们的意思是让你看看alert(date+"");得到什么值。。然后你再去改你的判断条件。。明白?!
if((data+"")=="success"){
alert("123");
}
else{alert("456");}
输出了456了就证明你的判断条件又问题。。明白?!
yixunchenhua 2011-12-15
  • 打赏
  • 举报
回复
alert(date+""); alert(data.length) 用这2个测试。 都没弹出。。。
暖枫无敌 2011-12-15
  • 打赏
  • 举报
回复
if((data+"")=="success")

不弹出提示,肯定是这2个不相同喽

用firebug 跟踪一下这2个值

估计是data中可能包含空格造成的
三石-gary 2011-12-15
  • 打赏
  • 举报
回复
虽然那个返回的是成功。。但你要看你的条件是什么啊(data+"")=="success"
你可以alert(data+"")看看是什么。。。。
MuBeiBei 2011-12-15
  • 打赏
  • 举报
回复
alert(data);

看下这个弹出来的 cuccess字符串 里面有没有空格。

alert(data.length)看下长度是多少
p2227 2011-12-15
  • 打赏
  • 举报
回复
说不定data有一些回车符等不可见字符,要用firebug什么的看一看值
yixunchenhua 2011-12-15
  • 打赏
  • 举报
回复
自己先帮忙顶一个。

87,989

社区成员

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

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