簡體   English   中英

在 facebook iframe 應用程序中使用 jquery - GET 與 POST

[英]Using jquery in a facebook iframe application - GET vs. POST

我想知道在 facebook iframe 應用程序中使用 jquery 時需要考慮什么。

我正在嘗試使我的網格能夠使用分頁,而無需一直重新加載整個 ASP.NET MVC 頁面。

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

編輯:我已經在使用 jquery-ui 組件,例如 datepicker,它們工作正常。 但是,只要我想在 Html 元素中插入 Controller 動作的結果,我就會掙扎。

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;
   });

我已經在使用 jquery-ui 組件,例如 datepicker,它們工作正常。 但是,只要我想在 Html 元素中插入 Controller 動作的結果,我就會掙扎。

您可以使用 jQuery getJSON將 controller 操作的結果插入到 HTML 元素中,請參閱此參考文檔以獲取更多信息。

您的 Controller 操作應返回JsonResult object。

例如,此 jQuery 代碼調用 Controller (myController) 上的操作 (myAction),並使用返回的 ZA8CFDE891AC 屬性更新 HTML 元素

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

並且您的 controller 操作應返回JsonResult object ,如下所示:

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

希望這可以幫助。

無需執行任何特殊操作:iframe 的內容完全由您控制。 您可以在 iframe 中加載您想要的任何 javascript 文件,並對您的代碼執行任何操作。 我在 Facebook iframe 應用程序中廣泛使用了 jquery。 需要注意的關鍵是 iframe 內容只是另一個 web 頁面。 您可以在其中執行任何您可以在常規 web 頁面中執行的操作(除了可能更改 window 大小:這很痛苦,但仍然可以使用 Facebook SDK 完成)

If you need to access the Facebook API, the Facebook Javascript SDK is your friend, but within the iframe you can do anything you could do on a regular web page.

我認為你不能。

出於安全原因,如果兩個 iFrame(父/子)之間的 javascript 不在同一個域中,瀏覽器將禁用它們。 So www.yourwebsite.com can't call javascript functions from www.facebook.com when facebook.com is in a iFrame for example (stupid example but it can help you to make it clear)

我認為您堅持使用呼叫服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM