2011-03-21 32 views
0

在HTML表單上使用get方法時,提交的數據顯示在URL中。 This page shows what I mean.我一直試圖使用get方法使用JQuery和AJAX,但由於某些原因,數據沒有顯示在URL中。有誰知道爲什麼?這裏是我的代碼:如何使用JQuery/AJAX向URL添加參數

$(function() { 
    $('#mylink').click(function() {  
     $.get("submit.php", { name: 'John' }, function(data) { 
      // blah blah blah 
     }); 
    }); 
}); 

我想要的網址的結尾被附加名稱=約翰和能夠與$ _GET變量來訪問它?我怎樣才能做到這一點?

回答

5

你有什麼工作:jQuery的AJAX轉換{ name: 'John' }submit.php?name=John

而且你訪問它在你的PHP腳本是這樣的:

<?php 
echo $_GET["name"]; //ECHOs out "John" 
?> 

BTW,不要忘記,以防止改變頁面的鏈接 -

$('#mylink').click(function() {  
    $.get("submit.php", { name: 'John' }, function(data) { 
     // blah blah blah 
    }); 
    return false; //Prevents the default behavior of the link 
}); 
+0

它還沒有工作。我將PHP腳本更改爲與您發佈的腳本相同,並對數據變量使用了警報,結果是John。但是,URL始終保持靜態,即使返回錯誤。有任何想法嗎? – 2011-03-21 03:26:30

+0

@NeXXeus複製貓;-) – Phil 2011-03-21 03:27:41

+1

@John你正在使用AJAX,所以URL不會改變。如果你將'John'變回'data'變量,那麼它就像預期的一樣工作。 – Phil 2011-03-21 03:28:59

1

看起來像你在點擊處理程序中缺少return false;。可能爲什麼你沒有看到你的期望。

$(function() { 
    $('#mylink').click(function() {  
     $.get("submit.php", { name: 'John' }, function(data) { 
      // blah blah blah 
     }); 
     return false; 
    }); 
}); 
0

爲什麼不把它添加到鏈接?

$.get("submit.php?name=" + username), function(data){ ... }); 

順便說一句...請留意所有關於服務器端衛生的輸入網址的所有正常警告。沒有人想要滿足Little Bobby Tables ...

+0

我發現對象映射格式更加清潔,可以查看和維護 – Phil 2011-03-21 03:20:20