jquery中的$.post()中的回调函数中能设置外界参数的值吗? 这个是怎么解决的,在线等回答

$(function(){//获取表单元素设置其提交函数$.("#form").submit(function(){vart=false;$.post("login.ac... $(function(){
//获取表单元素设置其提交函数
$.("#form").submit(function(){
var t = false;
$.post(
"login.action",
{"id":id,"pwd":pwd},
function(data){
//传回来的值是true或false
if(data=="true"){
t = true;//修改外界t的值
alert(t);//此处如果程序能进来,t=true
}else{
t = false;//修改外界t的值
}
},"text"
);
alert(t);//即使data为true进入了if函数,但t值为什么不改变?t=false
return t;
});
)};
我也遇到这样的问题,怎么样才能让t的值跟着该表呢?
展开
 我来答
噢香蕉香蕉皮耶
2015-03-27 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:74
采纳率:100%
帮助的人:104万
展开全部

我遇到过你的问题。我有一种方法哦。你有资格修改服务器的代码就可以搞。

$.ajax({
    url:"服务器网址",
    type:"POST",
    dataType:"script",//这里注意,是script,你本来不填默认的是text类型
    data:{
    dopost:"pos"//你要传的数值,这里是个例子而已
    },
    success:function(){}
});

然后,因为数据类型是“script”类型,因此,你服务器端就要输出严格格式的js代码了。

所以,你的服务器端要这么写(PHP的例子):

if($res > 200){//弄了一个判断条件的例子
    echo "t = true;";die;
}else{
    echo "t = false;";die;
}

这样就OK了。你要是能有权利修改服务器端的代码就可以这么干。

更多追问追答
追问
$res是后台传回来的数据吗? 你的这个只是输出,还是没有访问到post方法外面的变量,好像和我的有一点不一样
追答
$res是例子。无关。等于你服务器的判断。echo的内容才是你接收到的信息。
不过你这么问我,就代表你没有参与和修改服务器端的代码。。。script类型的ajax,可以直接接受js代码格式的返回信息。
你倒是可以拿给写返回信息的技术看这部分。
等于上面框框的代码是给你看的。下面框框的代码是给写PHP或JSP代码的人看的。你们两个人都按照这种形式,才能有效果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式