2009-09-28 3 views
24

나는 jQuery load documentation을 읽고 있는데 추가 매개 변수를 문자열로 전달하여 GET 요청을 수행하기 위해 load를 사용할 수 있다고 언급합니다. 키/값 쌍의 매개 변수가있는 현재 코드는 다음과 같습니다.jQuery "load"를 사용하여 추가 매개 변수로 GET 요청을 수행하는 방법은 무엇입니까?

$("#output").load(
    "server_output.html", 
    { 
     year: 2009, 
     country: "Canada" 
    } 
); 

위의 코드는 작동하지만 게시 요청입니다. load을 계속 사용하면서 위의 GET 요청을 수행하도록 수정하려면 어떻게해야합니까?

+0

$ .PARAM() $ 사용하여 데이터 객체를 서라운드 ("#output"). load ("server_output.html", $ .param ({년 : 2009, 국가 : "캐나다"})); –

+0

@BastiaanLinders이 답변을 완전한 답변으로 표시해야합니다. params 문자열을 만드는 방법을 설명하지 않은 허용 된 대답과 결합해야합니다. – Amala

답변

13

당신이 링크 된 문서에 따르면 GET 요청이 기본적으로 수행됩니다

-하지만 당신은 객체 /지도 (키의 형태로 여분의 매개 변수를 전달하는 경우/값 쌍)이면 POST가 발생합니다. 추가 매개 변수 을 문자열로 전달하면 여전히 GET 요청을 사용합니다.

그래서 간단한 해결책은 객체를 함수로 전달하기 전에 객체를 문자열로 변환하는 것입니다. 불행하게도 문서는 문자열이 있어야하는 형식을 지정하지는 않지만 수동으로 GET 요청을 생성하는 경우와 같을 것입니다.

$("#output").load(
    "/server_output.html?year=2009&country=Canada" 
); 
-2
$("#output").load("server_output.html?year=2009&country=Canada"); 
-2

당신은 할 수 없습니다

$("#output").load(
    "server_output.html?year=2009&country='Canada'" 
); 
82

사용 $.param(data) :

$("#output").load(
    "server_output.html?" + $.param({ 
     year: 2009, 
     country: "Canada"}) 
); 
+9

이것은 정말로 답이되어야합니다. – Siewers

-3

사용이

$("#output").load("server_output.html", {"2009":year, "Canada":country}); 
+3

이것은 POST 요청입니다. – Slawa