我正在尝试从AJAX调用webmethod,它正在重定向到这样的URL:
HttpContext.Current.Response.Redirect(StoreCode.ToLower() + "/App/home.html?EventClick=True", false);
AJAX电话:
function TokenPost() {
var token = $('#hdnToken').val();
$.ajax({
url: 'http://localhost/QDC/WebServices.asmx/ChkToken',
type: 'POST',
data: "{data:'" + token + "'}",
contentType: 'application/json; charset=UTF-8',
datatype: 'JSON',
success: function(response) {
},
error: function(response) {
alert(response.d);
}
});
}
但是我的AJAX调用没有重定向到那个url.Thanks提前。
答案 0 :(得分:1)
我认为在HttpPost方法中这是不可能的。但是您可以从服务器返回HttpPost方法中的链接。如果ajax返回成功,则使用Javascript代码重定向。
$.ajax({
url: 'http://localhost/QDC/WebServices.asmx/ChkToken',
type: 'POST',
data: "{data:'" + token + "'}",
contentType: 'application/json; charset=UTF-8',
datatype: 'JSON',
success: function (link) {
window.location.href = link;
},
error: function (link) {
alert(response.d);
}
});
在Server方法中(我在ASP.NET MVC中使用它):
string link = "https://...Your Link";
return Json(link, JsonRequestBehavior.AllowGet);
如果您使用的是WebMethod,我认为您也可以只返回字符串。
[System.Web.Services.WebMethod]
public static string ChkToken(string data)
{
string link = "...";
// Do things
return link;
}
这次ajax返回可以是这样的,
success: function (link) {
window.location.href = link.d;
},