关于jquery ajax中传值问题

具体代码如下:$.ajax({type:"POST",url:url,data:$('#'+formId).serialize(),async:false,beforeS... 具体代码如下:
$.ajax({
type: "POST",
url:url,
data:$('#'+formId).serialize(),
async: false,
beforeSend:ajaxLoading,
error: function(request) {
$.messager.alert('错误提示','连接超时,稍后请重试!','error');
},
success: function(detail) {
$.ajax({
type: "POST",
url:treeUrl,
data: {"pid":pid,"id":id},
error: function(request) {
$.messager.alert('错误提示','连接超时,稍后请重试!','error');
},
success: function(data) {
$.messager.alert('信息','操作成功!','info');
}
});
},
complete: function(request){
ajaxLoadEnd();
}
});
我在一个点击事件中调用ajax访问action,如果返回success则再次调用另一个ajax,第一次调用完全正确,但在调用第二个ajax时data中参数并未传到后台action中,在此js中运行时pid和id在debug时是有值的,但在action中接收到的都是null,action中get|set方法都有,请教下大神这是什么原因如何解决,谢谢!
展开
 我来答
匿名用户
2015-01-10
展开全部

因为在ajax success后,里面定义的data 不是全局变量的话 就会取不到值的,还有没看到您定义ajax的格式是json 是html 还是text呢?


看到您用这个$('#'+formId).serialize()  POST表单,提醒下,您的表单数据要是小于2k可以这样,要是大了就是提交不了的。还得改为data:{}这样的来提交。

function act(){
var pid="xxx";
var id="xxx";
var formId="xxx";
var url="xxx";
var treeUrl="xxx";
$.ajax({
  type: "POST",
  url:url,
  data:$('#'+formId).serialize(),
  beforeSend:ajaxLoading,
  dataType:"text",
  error:function(request){
  $.messager.alert('错误提示','连接超时,稍后请重试!','error');
  },
  success:function(data){
  ajs(treeUrl,pid,id);
  },
  complete: function(request){
      ajaxLoadEnd();
  }
});
}

function ajs(treeUrl,pid,id){
   $.ajax({
        type: "POST",
        url:treeUrl,
        data: {"pid":pid,"id":id},
        dataType:"text",
        error: function(request) {
                $.messager.alert('错误提示','连接超时,稍后请重试!','error');
        },
        success: function(data) {
        $.messager.alert('信息','操作成功!','info');
        }
        });
}
追问
ajax的格式有可能是html也有可能是json,不是固定的自动解析,根据你提供的思路我测试了在action中依旧接收不到pid和id信息,ajs方法中pid和id信息正常!
weiying3699
2015-01-22
知道答主
回答量:1
采纳率:0%
帮助的人:1289
展开全部
这个哥不会做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
这月来一次
2015-01-22
知道答主
回答量:1
采纳率:0%
帮助的人:1289
展开全部
这个问题问的好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式