skip to Main Content

I have one problem on my project. I would like access my function when iframe is over, but i try search how i can do this, but all solutions not worked, i dont know why?
My project have templates of Asp.Net Web Application (.NET Framework).

Script js, when create a iframe and "try" connect to my function on WebForm1.aspx.cs:

<script>
    const tag = document.createElement("script");
    tag.id = "iframe-demo";
    tag.src = "https://www.youtube.com/iframe_api";
    const [firstScriptTag] = document.getElementsByTagName("script");
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    let player;

    window.onYouTubeIframeAPIReady = () => {
        player = new window.YT.Player("player", {
            width: 500,
            height: 500,
            videoId: "M7lc1UVf-VE",
            events: {
                onStateChange: window.onPlayerStateChange
            }
        });
    };

    window.onPlayerStateChange = (event) => {
        if (event.data === 0) {
            jQuery.ajax({/* * */
                method: "POST",
                url: "/WebForm1.aspx/returnid",
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    console.log(textStatus);
                },
                success: function (result) {
                    console.log("success");
                }
            });
        }
    };
</script>

Code of WebForm1.aspx.cs:

[WebMethod]//[WebMethod()]
    public static string returnid(string subject, string message, string messageId, string pupilId)
    {
        Console.WriteLine("testar");

        return "";//https://www.youtube.com/watch?v=8elyZ6aGgZY
    }

I try use $.ajax, ajax, $Jquery there * and dont work. 1

2

Answers


  1. You have to import jQuery, add this inside the header tag:

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    
    Login or Signup to reply.
  2. Try calling the AJAX this way, to see if will hit the method:

    jQuery.ajax({
            method: "POST",
            url: "WebForm1.aspx/returnid",
            contentType: "application/json; charset=utf-8",        
            dataType: "json",
            data: JSON.stringify({ subject: "subject", message: "message", messageId: 1, pupilId: 1 }),
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                console.log("Error", errorThrown);
            },
            success: function (result) {
                console.log("success", result);
            }
        });
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search