通過Haml
佈局文件生成以下輸出和index.haml
jQuery的身體負荷內Sinatra
與西納特拉/ Haml的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Meeting</title>
<meta content='width=device-width, initial-scale=1' name='viewport' />
<script src='http://code.jquery.com/jquery-1.6.4.min.js'></script>
<script src='http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js'></script>
<link href='http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css' rel='stylesheet' type='text/css' />
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js'></script>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
setTimeout(getUpdate,10000);
function getUpdate(){
$("body").load("/");
}
})
//]]>
</script>
</head>
<body>Some text</body>
</html>
我試圖做到的是通過調用替換body
根/' but if it is an AJAX call, my code at
/checks for it and theoretically should only replace what's in
body`,但它取代了整個文檔。
這裏是我的Sinatra
& Haml
Ruby代碼
get '/' do
... set some instance vars to be displayed in index.haml ...
haml :index, :layout => (request.xhr? ? false : :layout)
end
通過「替換整個文檔」,我的意思是當調用jQuery方法時,上面的整個HTML輸出被替換爲'some text',沒有'html','head',甚至是'script'代碼。其實我沒有設置jQuery Mobile'div's,所以它不是你描述的問題。 –
你使用什麼瀏覽器?你是如何觀察DOM變化的?通過Chrome元素檢查器或Firebug?即使你沒有設置jQuery Mobile div,它也會自動修改你的DOM結構,只要你加載jQuery的移動javascript。 – miaout17