我想使用POST方法提交一些數據並重定向頁面。但是,無論何時點擊提交按鈕,jquery都無法在新頁面上正確加載。 我能夠將我的問題減少到以下代碼。例如,如果我按提交,新的頁面被加載。但提交按鈕不會給出任何響應,並且不會出現警告框。jquery:POST數據+重定向頁面不按預期方式工作
<html lang="en">
<head>
<script type="text/javascript" src="{{ MEDIA_URL }}site/jquery-1.4.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#submit').click(function() {
alert("Submit button pressed");
$.post("https://stackoverflow.com/questions/submit/",
{qid:1, ans:"dummy" },
function(data) {
$('html').html(data);
});
});
});
</script>
</head>
<body>
<a href="/accounts/logout">Logout</a>
{{ section.qid }}
<button id="submit">Submit</button>
</body>
</html>
顯然,當新的數據加載到通過jQuery的頁面,jQuery的腳本和功能都沒有執行。所以我必須在頁面上進行「刷新」,並且一切都很完美。但是,在post函數中,如果我將'html'更改爲'body',提交工作就好了。
$('body').html(data);
但是不同的頁面可能包含不同的腳本文件。所以我不贊成這樣做。什麼應該是實現這個理想的方式,以便jquery函數得到正確加載?
PS:在檢查「頁面源代碼」時,我注意到舊的section.qid存在於頁面源代碼中。但是,瀏覽器渲染新的(顯然是正確的)section.qid。我很難過。
我希望它冷是簡單的。我寫的代碼是高度簡化的。在實際問題中,用戶只能在使用另一個按鈕自定義驗證後才允許提交(客戶要求:))。所以基本上是的,我試圖用jquery代碼來模擬「post + form + submit」html。有出路嗎? – Neo 2010-10-16 11:12:11
@Neo - 然後我會阻止提交事件,直到通過附加'.submit()'處理程序到'
好的,回到帖子表格。 – Neo 2010-10-16 11:23:23