关于jquery.post方法的问题,懂jquery的进

guoyangjie 2011-05-03 10:22:36
jQuery.post(url,params,testme,'json');
第三个参数没有反应,就是没有调用到的意思后台一切正常,唯独没有调用到第三个参数
jQuery.post(url,params,function test(){alert("//////");},'json');
依然没有反应,求教高手解答。。等待中。。。。。。。。
...全文
272 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoyangjie 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 showbo 的回复:]
java不知道,不过看你发的信息是动态页出问题了。。。帮你转java板块去吧
[/Quote]
谢谢啊,这位大哥!
guoyangjie 2011-05-04
  • 打赏
  • 举报
回复
多谢大家的意见,我进一步查证,原因在这里:
我分步示范我的代码:

//泛型类
public class HostAction extends BaseAction<Host,Interger>(){

//实体类简单写下
private Host h;
private User u;
private String reslut;
//下面是set和get方法
。。。。。。。
//测试方法
public String test(){
this.reslut="test";
return Action.SUCCESS;
}
}
//前台代码如下调用
function addSysbean(){
var url = "testAjax/testa.action";
var params = {
"host.nodeid":1
}
alert("123456");
jQuery.post(url,params,testme,'json');
}

function testme(data){
alert(data.result);
alert("调用我试一下");
}
//上面肯定是正确的可以调用 tesetme这个方法
//如果我改成
var params = {
"user.id":1
}
//user和host同时存在同一个action中赋值的对象不同而已
//但是 给user赋值就会引起error也就是不会调用testme这个方法
//为什么会出现这种状况,求教高手解答
Phoenix Slade 2011-05-04
  • 打赏
  • 举报
回复
$(function(){
$("...").blur(function(
var params=$('form').serialize();
$.ajax({
url:...,
dataType:'json',
type:'post',
data:params,
success:function(data){
alert(data.message);//message与你action中输出字段相同
}
})
))
})
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zell419 的回复:]
HTML code


jQuery.post(url,params,function(data){
alert(data);
});
[/Quote]
++
帖子要起来啊,别沉下去。。。。高手都过来看看啊
吴少_ 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 guoyangjie 的回复:]
怎么这么人少啊,自己顶起来,别沉下去。。。。
[/Quote]
++
zell419 2011-05-03
  • 打赏
  • 举报
回复


jQuery.post(url,params,function(data){
alert(data);
});

guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
怎么这么人少啊,自己顶起来,别沉下去。。。。
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
自己往起顶一下。。。。。求助!!!!!
loveunittesting 2011-05-03
  • 打赏
  • 举报
回复
我感觉应该是后台返回的信息格式不正确的原因,你要求服务器返回json,但是返回结果可能格式不对,或者contentType不对,都可能造成错误的。一旦后台数据格式不正确,那个回调函数就不会有反应,就你那段
public String UpdateSysFile(){
logger.info("change----------");
//slogger.info(UpdateSysFiless()+"***********");
this.result="tests";
logger.info(this.result);
return Action.SUCCESS;
}

我看也不像是返回json的东西,而是普通文本

Go 旅城通票 2011-05-03
  • 打赏
  • 举报
回复
java不知道,不过看你发的信息是动态页出问题了。。。帮你转java板块去吧
showenxxx 2011-05-03
  • 打赏
  • 举报
回复
error事件里抱什么错
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
高手还在不?
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
打印出来是有问题。。。。。
我贴出来啊


org.apache.struts2.json.JSONException:
java.lang.reflect.InvocationTargetException org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243)
。。。。。。。。。。。。。。。。。。。。。。。。。
Go 旅城通票 2011-05-03
  • 打赏
  • 举报
回复
$.ajax(
//...
,error:function(xhr){alert(xhr.responseText);}//执行error回调时这里输出的是什么,贴输出的内容看看是不是符合json的定义
)
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
补充说明:
小弟传后台是以struts2 list的格式整个表单提交过去的,传递过去是正确的并且批量处理完成,但是返回来的时候获取不到json,执行了error方法
struts2 是以数组的形式提交后台的,user[0].id这种形式存在表单中,提交,求高手赐教
Go 旅城通票 2011-05-03
  • 打赏
  • 举报
回复
1.4以上的都是严格遵守json定义的字符串才会执行success回调

java不太清楚,你直接发返回给客户端的json格式的字符串来看看,是否满足json的格式定义
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 showbo 的回复:]

参考
jquery dataType指定为json的问题
[/Quote]我用的是1.5.2的版本
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复

public String UpdateSysFile(){
logger.info("change----------");
//slogger.info(UpdateSysFiless()+"***********");
this.result="tests";
logger.info(this.result);
return Action.SUCCESS;
}

前台

function syssaveeditor(){
var urla="AJAX/updateSysFile.action";
jQuery.ajax(
{
type:"post",
url:urla,
data:$("#sysForm").serialize(),
success:function(){alert("success");},
dataType:"json"
error:updatAllCall
}
)
//comoneit("syseitorb","syseitora");
}

function updatAllCall(data){
alert("here");
alert(data.result);
autotagsys("sysForm","#F0F0F0","#F0F0F0",false);
alert("成功更新");
}

简单的给result赋值,前台得不到。。。。。
Go 旅城通票 2011-05-03
  • 打赏
  • 举报
回复
是不是使用了jq1.4+的版本了?如果是应该是你返回的json字符串格式不正确,一定要严格按照json格式的定义

参考
jquery dataType指定为json的问题
guoyangjie 2011-05-03
  • 打赏
  • 举报
回复
代码补充,我的执行了error方法,但是不知道原因,后台运行正常,为什么会执行error???????

81,092

社区成员

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

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