簡體   English   中英

JS Ajax調用CodeBehind靜態函數后動態更新標記

[英]Update markup dynamically after JS Ajax call to CodeBehind static function

我正在使用$.ajax({...}); 發送一些數據到我的服務器(C#中的aspx的CodeBehind文件)。 為了在CodeBehind文件中接收要使用的數據,我必須使用靜態WebMethod( [System.Web.Services.WebMethod] )。 處理完這些數據后,如果要成功(我的情況是成功的信用卡收費),我想將它們重定向到新頁面,否則,向用戶發送錯誤提示(例如信用)的警報。卡充值隨機無效)。

有沒有辦法通過此靜態WebMethod訪問/更改當前頁面的標記(例如,添加<script>alert("Something went wrong")</script> ),而無法使用ASP頁面控件? (即, this是CodeBehind文件中非靜態方法中的頁面)

您可能需要使用$ .ajax語法的“成功和失敗”部分。 請參考下面的示例。 希望您的網絡方法返回字符串來完成這項工作。

WebMeethod示例

[ScriptMethod()]
    [WebMethod]
    public static string YourWebMethod()
    {
        String yourMessageString = String.Empty;

        //process as per your logic
       yourMessageString = "Some Message";

       return yourMessageString;
    }


$.ajax({
            type: "POST",
            url: "/yourpage.aspx/yourwebmethod",
            async: false,
            contentType: "application/json; charset=utf-8",
            data: "your data",
            dataType: "json",
            success: function (message) {
                alert(message);
            },
            error: function () {
                alert("error");
            },
            failure: function () {
                alert('failure');
            }
        });

暫無
暫無

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

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