jquery异步请求,一个请求里两个 post()方法,第二个不执行
点击下拉后返回查询到的页面,并级联第二个下拉选项,不太会jquery,自己试着写了上,第二个post()方法不执行functiongetTypeSpare(thisObj...
点击下拉后返回查询到的页面,并级联第二个下拉选项,
不太会jquery,自己试着写了上,第二个post()方法不执行
function getTypeSpare(thisObj){
var spate_type_id = $(thisObj).val();
$.post('SpareTypeInfo.shtml?spareTypeId=' + spate_type_id,function(dataSpare2){
$('#showSpareDiv').html(dataSpare2);
$.post('SpareModel.shtml?spareTypeId=' + spate_type_id,function(dataSpare4){
alert();
$('#model').html(dataSpare4);
})
})
} 展开
不太会jquery,自己试着写了上,第二个post()方法不执行
function getTypeSpare(thisObj){
var spate_type_id = $(thisObj).val();
$.post('SpareTypeInfo.shtml?spareTypeId=' + spate_type_id,function(dataSpare2){
$('#showSpareDiv').html(dataSpare2);
$.post('SpareModel.shtml?spareTypeId=' + spate_type_id,function(dataSpare4){
alert();
$('#model').html(dataSpare4);
})
})
} 展开
2个回答
展开全部
当然不会执行了,你想一下,第一个post已经提交一次了,并且的出来数据返回到了前台,此时函数就结束了,根本没有任何方法去触发你的第二个post,所以不行。
按照你的意思,你可以换一种思想去实现这个方法,抛弃这种思想。我给你个建议,你把这下面的这个post也写在第一个里面,把数据传到后台,在后台里执行所有的业务逻辑,再把两个返回值拼接在一起,一并传到前台,在前台再将返回值分开,比如你的是dataSpare2和dataSpare4吧,在后台你先将这两个值拼接起来,中间可以用“#”链接,传到前台后你再用js的分割函数,
split('#'),得到数组对象,这样再根据你的要求将不同的值填写到相应的位置
按照你的意思,你可以换一种思想去实现这个方法,抛弃这种思想。我给你个建议,你把这下面的这个post也写在第一个里面,把数据传到后台,在后台里执行所有的业务逻辑,再把两个返回值拼接在一起,一并传到前台,在前台再将返回值分开,比如你的是dataSpare2和dataSpare4吧,在后台你先将这两个值拼接起来,中间可以用“#”链接,传到前台后你再用js的分割函数,
split('#'),得到数组对象,这样再根据你的要求将不同的值填写到相应的位置
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的第二个post是在第一个post执行成功时执行吧,你确定第一个post执行成功了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询