关于jquery ajax

//一、A.js code
function (){
//调用B.JS文件中setValue的方法,里面一个ajax获取值且填充到DIV中
setValue();
//获取DIV中的文本,此处有问题,见第四点说明

var value = getValue();

}
getValue(){
$("#divname").html();
}
[/code]
[code="java"]

//二、B.js code
setValue(){
//利用ajax从后台获取值且更改DIV的文本
//若后台获取为:ajax获取后的内容
$("#divname").html("ajax获取后的内容");

}
[/code]
[code="java"]
//三、html code

这是页面初始值

[/code]

[code="java"]
/**四、问题来了
此时打印的value值不是[ajax获取后的内容],
*而是[这是页面初始值],好像根本就没有获取到改后的值
*/
//经过测试后发现
/
*①如果在js上设置断点进行调试,此时value打印的是更改后的
值,也就是[ajax获取后的内容]
*②如果我在ajax之后,alert下div里的文本,之后获取到的value值也是
[ajax获取后的内容]
好像感觉有点像延迟、多线程一样,好像要停顿一下他才能更改到DIV里的文本一样,就是说在你获取值之前他还没更新掉*div里的文本,望大牛解答
*/


慕沐林林
浏览 370回答 2
2回答

慕慕森

:lol: 因为是异步的。。你想获取值时,可能后台还没返回来值呢!~~可以设置async参数。在不换个写法在success: function(html){//todo你的动作}

忽然笑

看看后台的值可传过来了,另外,给非form表单的元素进行赋值的时候要用text('****'); :D
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java