0

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

Andrew
  • 21
  • 5

2 Answers2

1

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);
        }
    });
Paulo Fernando
  • 3,148
  • 3
  • 5
  • 21
0

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

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
Paulo Fernando
  • 3,148
  • 3
  • 5
  • 21
  • Ok work ... "$", but the code not in "/WebForm1.aspx/returnid". Why? – Andrew Jul 11 '22 at 23:43
  • I am sorry, which code is not in the "/WebForm1.aspx/returnid" ? – Paulo Fernando Jul 11 '22 at 23:49
  • Sorry Paulo, I misspelled. The project not go inside of function returnid. I have one breakpoint on function returnid and project dont go inside of this function. My question is why? – Andrew Jul 12 '22 at 08:24