2

Web クライアントでこの Cookie 機能を複製するにはどうすればよいですか? に関連しています。

以前の質問で、リクエスト ヘッダーに Cookie を設定する必要があることを発見しました。

サード パーティの Web サービスでログイン メソッドを呼び出すと、そのサーバーへの後続の要求で使用する必要がある Cookie が返されます。ブラウザがこの Cookie を保持し、適切なリクエストに添付すると想定していましたが、そうではないようです (firebug にはないことがわかります)。

リクエスト ヘッダーに Cookie を設定するにはどうすればよいですか?

私の呼び出しは次のとおりです。

var call = serviceUriString + '?' + strRequest;
$.post(call, function(d) {}, 'text').success(function(d) { ..//do something

送信する前にjQuery.ajax( url [, settings] )を使用する必要があるかもしれないと思いますが、Cookie を設定する方法、または実際に Cookie を取得/永続化する方法の良い例が見つかりません。以前のログイン要求 (後で添付できるようにするため)。

@edr が指摘するように、私はこのクライアント側を行っています。したがって、私の Web サイトはクライアント側のコードで Web サービスを呼び出します。

4

2 に答える 2

1

これに対する答えがあるかどうかはわかりませんが;jsessionid=[value_here]?、URL に追加することはできます。

例えば:

var call = serviceUriString + ';jsessionid=' + [value_here] + '?' + strRequest;
$.post(call, function(d) {}, 'text').success(function(d) { ..//do something

同様の答えはここにあります: https://stackoverflow.com/a/10353875

于 2012-05-01T17:50:29.963 に答える
0

ここで推測するだけです:

Cookie は ajax 呼び出しを実行する際に使用されるため、作成された Cookie はサード パーティのドメイン用であると思われるためドメインの Cookie にその Cookie が見つからないのは当然のことです。

投稿を行う前に、クライアント コードに Cookie を追加してみてください。このSOの質問が役立つ場合があります:

jQueryでCookieを設定/設定解除するにはどうすればよいですか?

于 2012-05-01T17:57:41.290 に答える