2011-05-03 39 views
1

我想知道在facebook iframe應用程序中使用jQuery時需要考慮什麼。在Facebook的iframe應用程序中使用jQuery - GET與POST

我想讓我的網格使用分頁,而無需重新加載整個ASP.NET MVC頁面。

當在facebook iframe應用程序中使用jQuery時,是否需要執行任何特殊操作?

編輯:我已經使用jquery-ui組件,如datepicker哪些工作正常。但只要我想要插入一個控制器行動的結果在我奮鬥的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

我已經使用jQuery UI的 組件,如日期選擇器,其工作 罰款。但只要我想 插入一個控制器 行動的結果我在努力的Html元素。

您可以將控制器作用的結果到使用jQuery功能getJSON一個HTML元素,看到this reference document獲取更多信息。

您控制器操作應返回JsonResult對象。

例如,該jQuery代碼調用上的控制器(myController的)的動作(myAction),並用返回的對象的屬性更新的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

我認爲你不能。

出於安全原因,如果兩個iFrame(父/子)不在同一個域中,則瀏覽器禁用兩個iFrame(父/子)之間的javascript。所以www.yourwebsite.com不能從www.facebook.com調用當facebook.com在iFrame中的javascript函數(例如愚蠢的例子,但它可以幫助你清楚)

我認爲你被卡住了與呼叫服務

+0

那麼爲什麼他的頁面不能使用jQuery?他的頁面位於iFrame中,並且不調用父級iframe。他只是想使用jQuery。 – 2011-05-03 16:43:30

+0

據我所知,他想從父母給孩子調用一個Javascript函數,因爲'自己'的臉書iframe中的jquery不應該給任何問題 – Michel 2011-05-04 07:04:37

+0

我在我的問題中增加了一些細節 – Ben 2011-05-04 10:36:18

1

不需要執行特殊操作:iframe的內容完全在您的控制之下。你可以在iframe中加載你想要的任何javascript文件,並對你的代碼執行任何操作。我廣泛使用了Facebook iframe應用程序中的jQuery。關鍵要注意的是,iframe內容只是另一個網頁。您可以在常規網頁中執行任何操作(除非更改窗口大小:這很痛苦,但仍然可以通過Facebook SDK完成)。

如果您需要訪問Facebook API,Facebook Javascript SDK是您的朋友,但在iframe中,您可以在常規網頁上執行任何操作。

相關問題