2

ログインと認証のために、html ページ (モバイル) から .net サーバーに ajax 呼び出しを行っています。今、私は JSON 応答を success:true で送り返しています。これはすべて正常に機能しますが、ログイン後にデータを記録するために他の呼び出しを行うときにユーザーが記憶されるように、Cookie を設定する必要があります。

JSONP の使用について読みましたが、多くの変更を意味するため、そうする必要がなければ、そのルートには行きたくありません。応答で Cookie を送り返し、クライアント側で手動で設定したいと思います。

.net のサーバー側でこの Cookie を取得 (または Cookie を作成) し、応答で送り返すにはどうすればよいですか?

4

2 に答える 2

3

successajaxの場合、クライアント側でCookieを設定できます

JSONあなたがこのようなものであると仮定すると

  {    "success": "true",    "username": "scott"   }

そして、ajax 関数で JSON を確認し、success 項目の値が true の場合は Cookie を設定します。

$.ajax({
        url: "someserverpage.aspx",
        success: function(data) {
           if(data.success=="true")
           {
              SetCookie("YoursiteUsername",data.username,365);                   
           }
        }
});

SetCookie 関数は Cookie を設定します。

function SetCookie(c_name,value,exdays)
{
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + exdays);
  var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
  document.cookie=c_name + "=" + c_value;
}
于 2012-08-10T15:32:23.343 に答える
1

success:true応答を検出した後、javascriptを使用してCookieをクライアント側に設定できます。

于 2012-08-10T15:27:54.190 に答える