1

同じ $.ajax リクエストによって作成された 2 つのリクエストがありますが、1 つは Google Chrome からのもので、もう 1 つは 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
4

0 に答える 0