2017-06-14 117 views
0

好的,所以我徹底搜刮了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版本後,我收到服務器對查詢的響應!我仍然有很多工作要做,但這是一個非常有價值的解決方案!非常感謝幫助我診斷此問題的所有人!

+1

你能通過瀏覽器訪問'http:// localhost:8080/editnote'嗎?如果是的話,這不是一個問題。然後你必須引用jquery ajax文檔。 – jeevatkm

+0

第二@ jeevatkm的筆記。排除故障時隔離每個部件。自己測試你的HTTP API,看看它是否工作,然後移動到UI部分。 – Adrian

+0

是的,我可以通過瀏覽器訪問它。 – cmshnrblu

回答

0

看來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); 
    } 
}); 
+0

我試過了,仍然沒有來自服務器的迴應,請問我的.html或服務器有沒有更多信息可以幫助? – cmshnrblu

+1

示例代碼將其記錄到控制檯中。必須檢查瀏覽器控制檯嗎?對於chrome'右鍵單擊 - >檢查 - >控制檯選項卡。同時檢查「網絡」選項卡,您可以看到關於請求和響應的完整見解。它會幫助你調試你的問題。 – jeevatkm