我有两个请求由同一个$ .ajax请求创建,但一个来自Google Chrome,另一个来自PhoneGap应用程序。 WebMatrix应用程序应该返回已提交用户名和密码凭据的用户的ID(PS:这不是应用程序的重点,但为了这个问题它已经简化了。)
基于浏览器的请求有效但PhoneGap没有。你知道为什么吗?我已添加了Chrome请求标题,但我无法获取完整的PhoneGap应用程序标题。
我找到了解决这个问题的方法,但它确实让我觉得它不起作用。
WebMatrix应用程序代码
if(IsPost){
var username = Request.Form["username"];
var password = Request.Form["password"];
var rememberMe = Request.Form["rememberMe"].AsBool();
var credentials = false;
if(!username.IsEmpty() && !password.IsEmpty()){
credentials = true;
}
if (credentials && WebSecurity.Login(username, password, rememberMe)) {
Response.Write(WebSecurity.CurrentUserId);
}
}
Google Chrome请求标题细分 -
Accept:application/json, text/javascript, */*; q=0.01
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:105
Content-Type:application/x-www-form-urlencoded
Cookie:ASP.NET_SessionId=XXXXXXX
Host:xxxxxxxxxxx
Origin:file://
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19