我正在使用$.ajax({...});
将一些数据发送到我的服务器(c#中的aspx的CodeBehind文件)。为了在CodeBehind文件中接收要使用的数据,我必须使用静态WebMethod([System.Web.Services.WebMethod]
)。一旦我使用这些数据,我想要将它们重定向到新页面如果成功(在我的情况下,成功的信用卡收费),否则,向用户发送一个警告出现问题(即信用卡)卡随机收费不起作用。)
有没有办法通过这个静态WebMethod访问/更改当前页面的标记(例如,添加<script>alert("Something went wrong")</script>
),而无法使用asp页面控件? (即this
,它是CodeBehind文件中非静态方法中的页面)
答案 0 :(得分:3)
您可能需要使用$ .ajax语法的成功和失败部分。请参考下面的示例。我希望你的web方法返回字符串以使其工作。
示例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');
}
});