在我的HTML頭中,我首先包含jquery.min.js,jquery.couch.js和twitter-bootstrap js(按此順序)和那麼我有一個稱爲logmein()的函數,如下所示:Javascript(JQuery/CouchDB)函數不起作用,但僅當從按鈕onClick調用時
<script>
$.couch.urlPrefix = "http://127.0.0.1:5984"
function logmein() {$.couch.login({
name: "testuser",
password: "test",
success: function() { alert("Success!") },
error: function() { alert("Login failed") }
});
}
</script>
使用用戶名和密碼硬編碼進行測試。
然後我有一個按鈕:
<button id="submit" class="btn btn-primary" onClick="logmein()">Sign in</button>
當我嘗試並點擊提交,我得到這個錯誤:
jquery.couch.js:216 TypeError: 'null' is not an object (evaluating 'resp.error')
但是,如果我輸入LogMeIn的()直接進入Safari瀏覽器的Web開發者控制檯,它工作得很好!我在這裏做錯了什麼?
編輯:我認爲它可能與此相關:https://stackoverflow.com/a/6792725/637562雖然我不太明白爲什麼(據我所知,我在相同的協議/主機上運行它)。
我其實試過這個,但它似乎導致該功能在頁面加載時也運行...?編輯:我剛剛嘗試了這一點,逐字,也不起作用。 – Matthew
請參閱urlPrefix的編輯。我不熟悉沙發,但似乎urlPrefix應該在函數內部。 –
好的,我試過了,它給出了同樣的錯誤。具體來說,當我點擊提交,我得到「TypeError:'null'不是一個對象(評估'resp.error')」,然後頁面刷新。當我直接從控制檯調用logmein()時,urlPrefix是否應該在logmein()函數內部,正如我之前所說的那樣,它只會在從按鈕調用時出現此錯誤(無論從onClick =或從$('#submit')。click())。嗯.. – Matthew