2012-05-16 33 views
0

我想轮询,使用.load,从服务器的特定元素ID,但只有元素更新,如果我跟随与窗口.load .location.reload()。如何使JavaScript .load工作不window.location.reload()

具体而言,该元素是vxworks服务器每秒钟更新一次的vxworks windmark元素*,并且浏览器应该读取并显示。

页面上的元素:

<span id="general_response_windmark_id" >$%general_response_windmark#$</span> 

在页面的最后,我做的事:

setInternval('foo()', 1000) // to re-display once a second 

不起作用:...

function foo() 
{ 
    windmark_field_id = 'general_response_windmark_id' 
    $('#' + windmark_field_id).load(' #' + windmark_field_id); 
} 

WORKS:...

function foo() 
{ 
    windmark_field_id = 'general_response_windmark_id' 
    $('#' + windmark_field_id).load(' #' + windmark_field_id); 
    window.location.reload() 
} 
    • vxworks服务器用不断变化的数字字符串替换“$%general_response_windmark#$”。

感谢

+0

你可以分享一下你的代码吗?我还试图定期获取信息更新,而不刷新vxworks webserver中的所有页面。问候 –

回答

0

我觉得

$('#' + windmark_field_id).load(' #' + windmark_field_id); 

语句有错误。

因为在​​之内第一个参数是一个url,并且我知道一个url不能以#符号开头。

重新检查你的url分配到​​,这将解决你的问题。

Read about .load()

1

将一个单独的HTML文档中的<span>标签(全部由自己,如果你喜欢),并加载使用jQuery来代替:

function foo() { 
    var wfid = 'general_response_windmark_id'; 
    $('#' + wfid).load('external-span-page.html #' + wfid); 
} 
0

答案: 添加完成功能.load的参数,紧跟在URL之后。

问题: 我的原始代码是在执行.load,然后立即从浏览器页面DOM中读取元素,即使.load尚未完成。 使用.load的完成函数等待完成。

hach​​a!