想用JavaScript做个Chrome插件,但是很多东西让我太吐血了。
一般来说,应该先执行1再执行2,但是她偏偏先执行2,再执行1,
请问在不改变大结构的情况下,怎么解决呢?
源码如下:
`
if(r.cmd=="ck")
{
//bg_mss('判断ck成功,进入ajax' , "");
$.ajax
({
type : 'POST', //默认是GET
url : 'http://192.168.177.130/egg/myhome.php/home/sycm/add_cookie',
data : {
'cookie':r.s_cookie,
'localhost':r.lh,
'url': r.url
},
//beforeSend:f_before, //发送之前函数
success : function(rdata) //成功函数,data 就是从*.php echo 的字符串内容;
{
alert( "ajax内:" + rdata );
sr = rdata;
},
//complete :f_complete, //不管成功失败都执行的函数
//error : f_Error, //错误函数
//dataFilter : f_filter, //数据处理函数
cache:false //是否使用缓存
});
alert( "ajax外:" + sr );
sendResponse(sr);
}
`
小兄弟,1是异步执行的callback,怎么可能比2要先执行(你要是还是不明白,请自行补习js关于callback、异步执行的基础知识)?!你要2先于1执行,只能把2的内容移到1所在的函数内部,并且放在1的后面