Jquery ajax请求后台成功,但没返回值

zdqzsp 2014-03-18 12:39:12
我用ajax做一个增加,增加成功了。但后台响应的值前台没有得到,或者说success;function()没有执行。不知为何,求解?
代码如下:
$.ajax({
url:"<%=basePath%>pmtUsers/addProjUser.do",
Type:"POST",
//data:$("#form1").serialize(),
data:"projNo="+$("#txtProjNo").val()+"&userId="+$("#txtPersonId").val(),
dateType:"json",
success:function(da){
alert(da);
var d = eval('('+da+')');
if(d.opResult=="OK"){
alert("添加成功!");
if($("#conAdd").attr("checked")) {
$("#txtProjNo").value("");
$("#txtProjName").text("");
$("#txtPerson").value("");
$("#txtServlet").text("");
$("#txtPersonId").value("");
} else {
window.close();
}
} else if(d.opResult=="ObjExsit"){
alert("该用户已存在项目中!");
return false;
} else {
alert("添加失败,请稍后再试!");
}

},
error:function(status){
alert(status);
alert("添加失败,请稍后再试!");
}
});
...全文
12972 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿豆空空 2016-04-26
  • 打赏
  • 举报
回复
醉了,我也是遇到这种问题,感谢楼主
liuyonghong159632 2015-02-28
  • 打赏
  • 举报
回复
操 仙人板板的 我也是搞了个 按钮 在表单里面 没有定义type="button" 调用接口有的时候能正常返回 有的时候返回了 值却是undefined 搞了我一下午 我都想哭了 太特么坑爹了
zhjdg 2014-03-18
  • 打赏
  • 举报
回复
方一 你把dateType : "json", 改成dateType : "text" 方二 1,你用那个版本的jQuery. 2. 你后台返回,是不是标准的json {"ss":"cc"} 新版的不用eval('(' + da + ')'); 已经是json Object
嘻哈大咖秀 2014-03-18
  • 打赏
  • 举报
回复
没执行success,那进入到error了吗?你的后台返回的数据是json格式的吗?
别闹腰不好 2014-03-18
  • 打赏
  • 举报
回复
后台有写 返回字符串的代码呢
  • 打赏
  • 举报
回复
你的请求路径是否正确,你可以通过开发人员工具-》网络 监视下提交请求,看看请求状态和返回值是什么,一目了然.
lirenniao 2014-03-18
  • 打赏
  • 举报
回复
楼主自己找到原因了,只好接分了.
zdqzsp 2014-03-18
  • 打赏
  • 举报
回复
引用 12 楼 u011461314 的回复:
好多错字 dateType : "json",
额。。。确实没注意哈。谢谢指出
zdqzsp 2014-03-18
  • 打赏
  • 举报
回复
谢谢各位的帮助,总算搞定了,不算代码问题。是因为我用form表单,按钮是submit类型的,所以提交后成功,但没返回值。把按钮类型改为button后就可以了。。。。不解
zhjdg 2014-03-18
  • 打赏
  • 举报
回复
好多错字 dateType : "json",
zhjdg 2014-03-18
  • 打赏
  • 举报
回复
你怎么用get也成功增加。
zhjdg 2014-03-18
  • 打赏
  • 举报
回复
哥哥,你骗人的。 Type:"POST", type:"POST",
  • 打赏
  • 举报
回复
其他的都是这么处理的,那么你换一个正常的地址,看是否是正确的,是否是路径的问题,是否在调用AJAX之前,你原来的JS本来就有错误,根本就没执行到这,你可以逐步alert();看看,走到哪一步停了,你也可以利用开发者人员工具来设置JS断点来查看.
zdqzsp 2014-03-18
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
dateType:"json", success:function(da){ alert(da); var d = eval('('+da+')'); 指定为json,da参数就已经是json对象了,在eval就报错鸟 1.4+的jquery返回怪异模式的json格式字符串也不会执行success回调
但我其他地方都是这么处理的哦。如果不这么处理,就不能得到值。我也找你的意思写了。但还是不行。。。。
zdqzsp 2014-03-18
  • 打赏
  • 举报
回复
引用 4 楼 u011461314 的回复:
方一 你把dateType : "json", 改成dateType : "text" 方二 1,你用那个版本的jQuery. 2. 你后台返回,是不是标准的json {"ss":"cc"} 新版的不用eval('(' + da + ')'); 已经是json Object
jquey版本1.2.6。后台是标准的json,而且其他异步我都是这么处理的,必须用eval()转换。我也照你上面的方法测试了,但还是不行。。。。
zdqzsp 2014-03-18
  • 打赏
  • 举报
回复
引用 3 楼 microlab2009 的回复:
没执行success,那进入到error了吗?你的后台返回的数据是json格式的吗?
也没进入error,后台返回的是json。。。。
Go 旅城通票 2014-03-18
  • 打赏
  • 举报
回复
dateType:"json", success:function(da){ alert(da); var d = eval('('+da+')'); 指定为json,da参数就已经是json对象了,在eval就报错鸟 1.4+的jquery返回怪异模式的json格式字符串也不会执行success回调

87,907

社区成员

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

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