2011-05-03 3 views
1

페이 스북 iframe 응용 프로그램에서 jquery를 사용할 때 무엇을 고려해야하는지 궁금합니다.페이 스북 iframe 응용 프로그램에서 jquery 사용 - GET 대 POST

항상 전체 ASP.NET MVC 페이지를 다시로드하지 않고 페이징을 사용하도록 그리드를 설정하려고합니다.

facebook iframe 앱에서 jquery를 사용할 때 수행해야 할 특별한 작업이 있습니까?

EDIT : 나는 잘 작동하는 datepicker와 같은 jquery-ui 구성 요소를 이미 사용하고 있습니다. 하지만 곧 컨트롤러 동작의 결과를 Html 요소에 삽입하고 싶습니다.

EDIT2 : POST 프로토콜을 사용하는 jquery 기능은 제대로 작동하지만 GET 프로토콜을 사용할 때는 그렇지 않습니다.

샘플 전화 :

작품 :

 $("#element").live("click", function() { 
    $.ajax( 
    { 
     type: "POST", 
     url: "<%=Url.Action("Action","Controller") %>", 
      parameters: { page: 2 }, 
     success: function(result) { 
      $("#element2").html(result); 
     } 
    }); 

     return false; 
    }); 

가 작동하지 않습니다 :

 $("#element").live("click", function() { 
    $.ajax( 
    { 
     type: "GET", 
     url: "<%=Url.Action("Action","Controller") %>", 
      parameters: { page: 2 }, 
     success: function(result) { 
      $("#element2").html(result); 
     } 
    }); 

     return false; 
    }); 

답변

3

나는 을 작동하는 datepicker와 같은 jquery-ui 구성 요소를 이미 사용하고 있습니다. 하지만 내가 원하는대로 빨리 컨트롤러의 결과를 삽입하는 작업 html 요소에 투쟁.

당신은 jQuery를 기능 getJSON를 사용하여 HTML 요소에 컨트롤러 액션의 결과를 삽입 대한 추가 정보를 원하시면 this reference document을 볼 수 있습니다.

컨트롤러 동작은 JsonResult 개체를 반환해야합니다.

예를 들어

이 jQuery 코드는 컨트롤러 (MYCONTROLLER)에 액션 (시켜라)를 호출하고 반환 된 객체의 속성으로 HTML 요소를 업데이트합니다

$.getJSON('MyWebsite/MyController/MyAction', SomeParameters, function (result) { 
    if (result!=null) 
    { 
     $('#MyElement').html(result.Value1); 
    }) 

그리고 당신의 컨트롤러 액션은 반환해야 이 같은 JsonResult 목적 :이 도움이

public JsonResult MyAction() 
{ 
    return Json(new SomeObject 
     { Parameter1 = Value1}, JsonRequestBehavior.AllowGet); 
} 

희망.

0

난 당신이하지 수 있다고 생각합니다.

보안상의 이유로 동일한 iFrames (부모/자식) 간의 자바 스크립트는 브라우저가 동일한 도메인에 있지 않으면 사용할 수 없습니다. 그래서 facebook.com이 iFrame에있을 때 www.yourwebsite.com은 www.facebook.com에서 javascript 함수를 호출 할 수 없습니다 (바보 같은 예도 있지만 명확하게 해줄 수는 있습니다)

나는 당신이 붙어 있다고 생각합니다. 전화 서비스 이용

+0

왜 그의 페이지에서 jQuery를 사용할 수 없습니까? 그의 페이지는 iFrame에 있으며 부모 iframe을 호출하지 않습니다. 그는 단지 jQuery를 사용하려고합니다. –

+0

'자신의'facebook iframe 내부 jquery가 문제가되지 않아야하기 때문에 부모로부터 자식에게 Javascript 함수를 호출하고 싶어한다는 것을 알고 있습니다. – Michel

+0

제 질문에 대한 자세한 내용을 추가했습니다. – Ben

1

특별한 조치를 취할 필요가 없습니다. iframe의 내용은 전적으로 귀하의 통제하에 있습니다. iframe에 원하는 자바 스크립트 파일을로드하고 코드에서 어떤 작업을 수행 할 수 있습니다. 페이스 북의 iframe 애플리케이션에서 jquery를 광범위하게 사용했습니다. 주목해야 할 중요한 점은 iframe 콘텐츠는 단지 다른 웹 페이지라는 점입니다. 일반 웹 페이지에서 할 수있는 모든 작업을 수행 할 수 있습니다 (창 크기를 변경하는 것만 제외하면 고통 스럽지만 여전히 Facebook SDK로 수행 할 수 있습니다).

Facebook API에 액세스해야하는 경우 Facebook Javascript SDK는 친구이지만 iframe 내에서 일반 웹 페이지에서 수행 할 수있는 모든 작업을 수행 할 수 있습니다.