angularjs - $http 帖子在 Safari 中不起作用

标签 angularjs safari

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

我的登录 API 调用如下所示

$http.post(config.login, {
        email: username,
        password: password
    })
    .then(function (response) {
            callback(response);
        },
        function (response) {
            callback(response);
        });

我在 Safari 中收到以下响应。

enter image description here

我使用的是 Angular v1.4.8 a 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'放入。但是'Basic'字符串的长度是6而不是5。
所以使用 key = key.trim() 和 value = value.trim() 可以解决问题。

如果这有帮助,请告诉我。

关于angularjs - $http 帖子在 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34409785/

相关文章:

javascript - 调用输入的点击事件在 Safari 中不起作用

javascript - Safari 是否正确处理了粘贴事件?

angularjs - 使用Angular我们如何在完成一堆异步调用后进行调用

javascript - 如何在 Angular Directive(指令)输出中运行 javascript 和 css?

jquery - Safari 中带有 svg 元素的按钮未触发 Click 事件

iphone - 如何在UIwebview中隐藏URL的弹出

html - 剪辑路径渐变动画在 Safari 中不起作用

javascript - Angular 2,Typescript 模块没有导出常量 'FORM_DIRECTIVES'

angularjs - Bootstrap 模态验证在关闭时显示

javascript - Angular ng-repeat 反向