好的,所以我已经彻底搜索了stackoverflow,寻找可以使我的代码工作的解决方案,我相信我很接近,但我无法确切地告诉我为什么我的代码不起作用。
所以,我正在尝试构建一个动态内容页面,并通过点击我的笔记发送一个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)
}
这是main()片段:
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的超薄版本。切换到缩小的非缩小版本后,我收到服务器对查询的响应!我仍然有很多工作要做这个应用程序,但这是一个非常有价值的解决方案!非常感谢帮助我诊断这个问题的每个人!
答案 0 :(得分:1)
似乎jQuery slim build,doesn't support ajax function。所以包括
jquery-3.2.1.min.js
尝试,它会起作用。
SO帖子:阅读normal vs slim build。
你可以尝试这个jquery ajax调用吗?
$.ajax({
type: 'GET', // default is GET, so you can exclude if you want
url : '/editnote', // don't hard the host address
dataType: 'html',
success: function(data) {
console.log(data);
},
error: function(e){
console.log(e);
}
});