2016-08-04 22 views
1

サーバサイド認証のためにsessionidというユーザが必要です。だから必然的に必要なすべての要求のヘッダーにSessionidを投稿する必要があります。私はヘッダーにsessionIdを投稿するために以下を使用していますが、何か間違ったことが起こりました。POSTリクエストでsessionidをヘッダに追加するフレームワーク7 with ajaxリクエスト

apiservice.getProfileDetails = function(data, callback){ 
// $.cookie("sessionid", $.jStorage.get("sessionKey")); 
document.cookie = "sessionid=" +$.jStorage.get("sessionKey"); 
console.log(document.cookie); 
var requestEnvelope = { 
    url: apiservice.baseUrl + '/get/my/information/?callback='+callback, 
    xhrFields: {withCredentials: true}, 
    crossDomain: true, 
    async: false, 
    type: 'POST', 
    // beforeSend : function(xhr) { var cookie = credentials["COOKIE"]; console.info("adding cookie: "+ $.jStorage.get("sessionKey")); xhr.setRequestHeader('Cookie', $.jStorage.get("sessionKey")); }, 
    beforeSend: function (request) 
      { 
      request.setRequestHeader("Cookie", "sessionid=" +$.jStorage.get("sessionKey")); 
      }, 
    // setCookies: $.jStorage.get("sessionKey"), 
    // headers: {"sessionid": $.jStorage.get("sessionKey")}, 
    data: JSON.stringify(data), 
    complete: function(res){ 
      ux.getProfileDetails(res.responseText); 
    } 
    } 
    $.ajax(requestEnvelope); 
}; 

にエラーが発生しました

jquery.min.js:4 Refused to set unsafe header "Cookie"はまた、ヘッダに

headers: {"sessionid": $.jStorage.get("sessionKey")}, 

が、同じエラー、私はframework7とIとのプロジェクトで働いているすべてのソリューション

答えて

0

をクッキーを設定しようとしましたですフレームワークの$$を使用して2つの方法を見つける

1 )すべてのajaxの前に実行するように設定します。

var $$ = Dom7; 

$$(document).on('ajaxStart', function(e){ 
    var xhr = e.detail.xhr; 
    xhr.setRequestHeader('token', 'value'); 
}); 

2)https://framework7.io/docs/dom.html

AJAXでヘッダパラメータを参照してください。

関連する問題