在代码中,请求以:
发送var ajaxOptions = {
url: 'someUrl',
method: 'POST',
success: function(response) {
...
},
failure: function(response) {
console.log(response);
}
};
var form = this.getView().getForm();
var submitAction = Ext.create('Ext.form.action.Submit', { form: form });
var formInfo = submitAction.buildForm();
ajaxOptions.form = formInfo.formEl;
if (form.hasUpload()) {
ajaxOptions.isUpload = true;
}
Ext.Ajax.request(ajaxOptions);
当通过Chrome发送请求时,“授权”'标题呈现:
Authorization:Basic YWRtaW46YWRtaW4=
通过Firefox发送时,不包含标题。 显然,我没有设置用户/密码。所以它不清楚,为什么以及Chrome如何发送这样的标题。有任何已知问题吗? 第二,如何强制firefox发送这样的头文件?可能吗?
已更新 JavaScript现在没有关于登录/密码的任何信息。主要问题是Chrome如何使用它们,但其他浏览器无法发送此类对。所以问题是如何强制其他浏览器发送此Cookie,因为Chrome没有通过JavaScript手动应用标题。
在服务器端,使用Servlet API。在web.xml中:
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>someName</realm-name>
</login-config>
如果确实重要
答案 0 :(得分:1)
根据docs,只需向headers
添加ajaxOptions
媒体资源:
ajaxOptions = {
//...
headers : {
'Authorization': 'Basic YWRtaW46YWRtaW4='
}
}