2010-01-01 2 views
1

인덱스 페이지에서는 URL을 /?cat=mycat에 넣기 만하면 카테고리를 관리합니다. 이제 사용자가 jQuery 업데이트를 시작하는 링크를 클릭 할 때. 먼저 SQL에 데이터를 삽입하고 성공할 경우 $("#indexPage").load('updateIndexPage.php')은 데이터베이스의 인덱스 요소 쿼리를 포함합니다.jquery 및 url 속성을 기억하고 있습니까?

이제 urls 속성을 가져올 수 없습니다 (이 경우는 ?cat=mycats). 나는 그 updatefile에 $cat = $_GET['cat'];을 가지고 있지만 작동하지 않습니다 ??

은 그래서 일어나고있는 것은 사용자가 내 고양이의 일부이며, 해당 쿼리 후 링크를 ​​클릭하면 사용자가이었다 해당 카테고리의 물건을 보여주는되지 않는 것입니다 .. :)

가 아니라 그 지저분한입니다 .. :)

답변

1

윈도우가 아약스 URL에 변수를 얻을 통과하십시오 :

$("#indexPage").load('updateIndexPage.php' + window.location.search); 
+0

데이빗 감사합니다! :) – Marko

2

$.load()으로 전화하면 실제로 GET 변수가 서버로 전달되지 않습니다. 다시 $.load()에 대한 문서를 검토 http://docs.jquery.com/Ajax/load

$.load(url, [data], [callback])

주 당신이 당신의 가치를 전달 할 경우 두 번째 매개 변수입니다. 당신이 $.load()를 사용하여 이러한 변수를 전달하면 참고 또한, 그들은 서버에서 GET으로 표시하지만,하지 않을 대신 POST, 문서로 표시된 바와 같이 :

... 서버에 추가 매개 변수를 게시 할 예정입니다 및 서버가 응답을 완료 할 때 실행되는 콜백.

$("#feeds").load("feeds.php", {limit: 25}, function(){ 
    alert("The last 25 entries in the feed have been loaded"); 
}); 
은 단순히 다음 중 하나에 PHP 코드를 변경, 이러한 차이를 설명하려면 :

$cat = $_POST["cat"]; // looks for a 'cat' variable in POST 
$cat = $_REQUEST["cat"]; // looks for a 'cat' variable in POST or GET 
+0

이것은 매우 유용했습니다. 조나단! 감사합니다 .. – Marko