好的,所以我徹底搜刮了stackoverflow尋找解決方案,可以使我的代碼工作,我相信我很接近,但我不能確切地告訴我爲什麼我的代碼不工作。Ajax新手學習(golang jquery)
因此,我正在嘗試構建一個動態內容頁面,並且通過點擊將ajax請求發送到我的筆記中,以允許它們被擴展,查看和編輯。
繼承人的腳本,我試圖使用方法:
<script>
$('.notes').on('click',function (e){
alert("ok");
$.ajax({
type:'GET',
url :'localhost:8080/editnote',
dataType: 'html',
success: function(data) {
console.log('success',data);
$('#interactive').html(data);
},
error: function(jqXHR,textStatus,errorThrown){
alert('Exception:'+errorThrown);
}
});
e.preventDefault();
});
</script>
現在,這裏是golang片斷我試圖讓它與互動。它似乎沒有連接到我的服務器,因爲handlefunc從未註冊故障排除fmt println。
handlefunc片段:
func test(w http.ResponseWriter, r *http.Request) {
fmt.Println("code got here")
s := `Here is some text from test`
fmt.Fprintln(w, s)
}
,這裏是主要的()片段:
func main() {
http.HandleFunc("/editnote", test)
http.ListenAndServe(":8080", nil)
}
這裏任何有識之士將高度重視。非常感謝你回顧這個問題。
編輯:我忘了提及腳本的警報成功激發,所以點擊腳本正在工作,而不是ajax。
EDIT2:通過開發者控制檯:
Uncaught TypeError: $.ajax is not a function
at HTMLDivElement.<anonymous> ((index):153)
at HTMLDivElement.dispatch (jquery-3.2.1.slim.min.js:3)
at HTMLDivElement.q.handle (jquery-3.2.1.slim.min.js:3)
更新:看來這裏的問題,我沒有經過一番挖掘有關控制檯是我是使用jQuery 3.2.1的縮小版本。切換到縮小的非slim版本後,我收到服務器對查詢的響應!我仍然有很多工作要做,但這是一個非常有價值的解決方案!非常感謝幫助我診斷此問題的所有人!
你能通過瀏覽器訪問'http:// localhost:8080/editnote'嗎?如果是的話,這不是一個問題。然後你必須引用jquery ajax文檔。 – jeevatkm
第二@ jeevatkm的筆記。排除故障時隔離每個部件。自己測試你的HTTP API,看看它是否工作,然後移動到UI部分。 – Adrian
是的,我可以通過瀏覽器訪問它。 – cmshnrblu