关于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方法都有,请教下大神这是什么原因如何解决,谢谢! 展开
$.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方法都有,请教下大神这是什么原因如何解决,谢谢! 展开
3个回答
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信息正常!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询