jQuery AJAX标头授权

我正在尝试基于本教程授权AJAX查询。 它使用Crypto库在发送之前使用适当的授权信息设置请求标头。 我遇到的问题是标头似乎没有按要求设置。 这是我的代码:

beforeSend : function(xhr) { var bytes = Crypto.charenc.Binary.stringToBytes(username + ":" + password); var base64 = Crypto.util.bytesToBase64(bytes); xhr.setRequestHeader("Authorization", "Basic " + base64); }, 

问题是没有将dataType设置为JSONP 。 由于没有这样做,浏览器将该调用解释为标准的AJAX请求,这意味着它在同源策略下被阻止。

工作代码供参考(赠送给@pdeschen以建议Crpyto):

  

最终似乎对我有用。 在个人呼叫的基础上可能会发生冲突。 将此方法设置为将来连接选项的默认方法。

 //Function( jqXHR jqXHR ) $.ajaxSetup( {beforeSend: function(jqXHR) { jqXHR.setRequestHeader( "My-Header", "My-Value" ); } } );