Angularjs $http post在Safari中不起作用

Angularjs $http post在Safari中不起作用,angularjs,safari,Angularjs,Safari,我正在开发一个AngularJS应用程序,并实现了一个简单的登录API调用。API在除Safari之外的所有浏览器中都会给我一个响应 我的登录API调用如下所示 $http.post(config.login, { email: username, password: password }) .then(function (response) { callback(response); },

我正在开发一个AngularJS应用程序,并实现了一个简单的登录API调用。API在除Safari之外的所有浏览器中都会给我一个响应

我的登录API调用如下所示

$http.post(config.login, {
        email: username,
        password: password
    })
    .then(function (response) {
            callback(response);
        },
        function (response) {
            callback(response);
        });
我在Safari中得到了以下回应

我正在使用Angular v1.4.8和Safari 9.0版(11601.1.56)

有什么不对劲的线索吗?

这让我发疯了。 首先,我下载angular.js文件,然后搜索“xhr.setRequestHead”。所有的问题都在这里。 我试着放一些日志来看看发生了什么

forEach(headers, function(value, key) {
    key = key.trim();// trim the key
    value = value.trim();// trim the value
    console.log("******************** key: " + key);
    console.log("******************** value: " + value);
    console.log('value: Basic vs ' + value+ ' equal: '+ (value==="Basic"));
    console.log('value.length: ' + value.length);
    if (isDefined(value)) {
         xhr.setRequestHeader(key, value);
    }
});
我发现angularjs会自动将标题“Authorization”:“Basic”放入。但“基本”字符串的长度是6而不是5。 所以使用key=key.trim()和value=value.trim()解决了这个问题


如果有帮助,请告诉我。

您可能没有html5 doctype..?这对我帮助很大。非常感谢。