**編輯結束使用:只需注意的是,在你的HTML,你沒有給一個ID屬性爲「發現」場。因此,$('#find')。val()會給你一個錯誤,類似於「找不到未定義的方法val()」,添加id = find標籤到你的應用程序中。編輯:對於混淆抱歉,你的表單有id = find,但你想發送到服務器(我相信)是字段的值,所以給你的輸入一個ID = name然後用:
var data = {find: $('#name').val()};
你應該用你的控制檯來查看是否觸發事件開始喜歡的東西:
<script>
$(document).ready(function() {
$("#submit").click(function(e){
e.preventDefault ? e.preventDefault() : e.returnValue = false; //This will prevent the regular submit
console.log('Hello');
});
});
</script>
(你使用消防錯誤或日e Chrome開發工具,對)?如果沒有,看看這篇文章的結尾。 如果您可以在控制檯中看到Hello,那麼您就在正確的道路上。然後嘗試設置您的網址中的變量,並嘗試將其簽入您的控制檯:
<script>
var url = "<?php echo SITE_URL;?>Training/test";
$(document).ready(function() {
$("#submit").click(function(e){
e.preventDefault ? e.preventDefault() : e.returnValue = false; //This will prevent the regular submit
console.log(url);
});
});
</script>
那麼你應該在控制檯中看到的網址,這意味着你仍然做得很好。
如果這樣的作品,嘗試設置數據,並檢查以同樣的方式輸出:
<script>
var url = "<?php echo SITE_URL;?>Training/test";
var data = {
find: $('#find').val()
};
$(document).ready(function() {
$("#submit").click(function(e){
e.preventDefault ? e.preventDefault() : e.returnValue = false; //This will prevent the regular submit
console.log(data);
});
});
</script>
希望能一切仍然有效(你看到的數據),然後嘗試實際完整的代碼,看看你有一個錯誤或什麼的。另外,一定要在你的ajax調用中包含一個錯誤函數,這樣如果服務器上出現問題,你將得到一個響應。
<script>
var url = "<?php echo SITE_URL;?>Training/test";
$(document).ready(function() {
$("#submit").click(function(e){
e.preventDefault ? e.preventDefault() : e.returnValue = false; //This will prevent the regular submit
var url = "<?php echo SITE_URL;?>Training/test";
var data = {
find: $('#find').val()
};
$.ajax({
type:'POST',
url: url,
data: data,
success: function(response) {
alert (response);
},
error: function(resp) {
alert(resp.responseText);
}
});
});
});
</script>
一些工具來幫助你:
如果您使用的是Firefox,使用Firebug爲你調試:https://addons.mozilla.org/fr/firefox/addon/firebug/
如果您使用的是Chrome(我個人最喜歡的),瞭解多一點關於Chrome開發者工具:https://developers.google.com/chrome-developer-tools/?hl=fr
如果您使用的是IE,請切換到其他用於開發目的,然後在IE中嘗試它,以確保您的代碼是兼容的(很可能不會但它會更容易鰭d爲什麼它以後不起作用)。
至於行e.preventDefault ......,看看這個SO發佈更多細節:https://stackoverflow.com/a/15913969/1483513
希望這有助於!
請問您的JavaScript文件實際上得到由PHP解析之前發送到客戶端? – Havsmonstret
我真的不明白你的意思.... – user2509780
你在JavaScript中使用PHP代碼('url:「<?php echo SITE_URL;?> Training/test」,'')。如果你從瀏覽器請求這個文件,那麼這個PHP代碼很可能不會被執行,並且你最終會在你的javascript中使用這個文字代碼。 JavaScript如何看待客戶端? – Havsmonstret