rsh*_*hah 0 javascript ajax jquery
我目前正在执行一项任务,包括使用php从文件中获取信息并使用AJAX返回它.当我使用警报对此进行测试时,数据将被发送,但由于某种原因,该行:
param.html(str);
Run Code Online (Sandbox Code Playgroud)
不会改变div中的文字...
这是我的功能:
function updateChat(param) {
var dataString = 'update=true';
var str = '';
$.ajax({
type: "POST",
url: "inc/chat.php",
data: dataString,
success: function(data) {
str = data;
}
});
param.html(str);
}
Run Code Online (Sandbox Code Playgroud)
以下是我调用方法的方法:
setTimeout(function() {
updateChat('#chatbox');
}, 1000);
Run Code Online (Sandbox Code Playgroud)
由于您正在执行异步请求,str因此在ajax请求完成并调用成功处理程序之前不会设置.param.html(str)在ajax成功处理程序内移动然后它将更新div中的文本.
function updateChat(param) {
var dataString = 'update=true';
var str = '';
$.ajax({
type: "POST",
url: "inc/chat.php",
data: dataString,
success: function(data) {
param.html(data);
}
});
}
Run Code Online (Sandbox Code Playgroud)
改变这个
setTimeout(function() {
updateChat('#chatbox'); //<----
}, 1000);
Run Code Online (Sandbox Code Playgroud)
至
setTimeout(function() {
updateChat($('#chatbox'));
}, 1000);
Run Code Online (Sandbox Code Playgroud)