現在のプロジェクトでは、開発プロセス中に、ログイン Cookie によって設定されたドメインがルート ドメインの下に個別に配置され、ユーザーのログイン検出が行われます。がバックエンド コードで実行されているため、調べてみると、常に非ログイン ページにリダイレクトされることがわかりました。インターネット、私は
ネイティブAjaxリクエストメソッド:
var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); xhr.withCredentials = true; //支持跨域发送cookies xhr.send();
$.ajax({ type: "POST", url: "http://xxx.com/api/test", dataType: 'jsonp', xhrFields: { withCredentials: true }, crossDomain: true, success:function(){ }, error:function(){ } })
サーバー側設定:
header("Access-Control-Allow-Credentials: true");
header( "Access-Control-Allow-Origin: http://www.xxx.com");
フロントエンドには Fineuploader が含まれるため、コード内でキーワード withCredentials を検索して、次に進みました。公式ドキュメントにアクセスして読んでください。cors設定があります http://docs.fineuploader.com/api/options.html#cors
設定行に次の設定を追加すればOKです
Jsコード
cors: { allowXdr: true,// 此参数目前不知道有啥用 expected: true, sendCredentials: true }
修正後、問題は解決されました。