响应.$post jquery后,重定向asp不起作用
本文关键字:重定向 asp 不起作用 post jquery 响应 | 更新日期: 2023-09-27 18:02:23
我做了一些事情,通过将值发送到currentpage
来传递Facebook响应 function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
$.post('http://localhost:50790/TestPage.aspx',
{ fbid: response.id, firstname: response.first_name, lastname: response.last_name, email: response.email, bday: response.birthday },
function (result) {
});
console.log('Good to see you, ' + response.name + response.id + response.email + response.gender + response.birthday + '.');
});
}
,我在代码后面做了一些检查:
protected void Page_Load(object sender, EventArgs e)
{
var fbid = Request.Form["fbid"];
var fname = Request.Form["firstname"];
var lname = Request.Form["lastname"];
var email = Request.Form["email"];
var bday = Request.Form["bday"];
if (!Page.IsPostBack)
{
if (fbid != null)
{
CheckFBLogin(fbid.ToString());
}
}
}
我的测试是在CheckFBLogin
上,如果结果ok,它会让用户登录到网站,否则它应该重定向到其他页面/注册页面。
public void CheckFBLogin(string Fbid)
{
CustomerSelfCareSoapClient service = new CustomerSelfCareSoapClient();
service.ClientCredentials.UserName.UserName = _Username;
service.ClientCredentials.UserName.Password = _Password;
GResult result = service.CheckFBLogin(Fbid.ToString(), "");
if (result != null)
{
if (result.Code == 100)
{
//login
}
else
{
Response.Redirect("~/callback.aspx", true);
}
}
}
我不知道发生了什么,我通常做这样的检查登录,但纯asp和c#。我知道为什么页面不能重定向吗?
我可以用Mono复制这种行为。在我的系统上,问题是jquery的$post()方法实际上启用了Page。后面代码中的IsPostBack属性,以便if (!Page.IsPostBack) {}
条件中的所有逻辑都无法运行。
我的建议是使用ASP。. NET的[WebMethod]属性。Dave Ward很好地记录了这一点。如果要进行大量异步客户端JSON调用,可以考虑使用ASP。. NET的MVC实现,如果你的项目范围允许的话