未调用使用angularjs$http在Safari中的POST调用

未调用使用angularjs$http在Safari中的POST调用,angularjs,ajax,http,asynchronous,safari,Angularjs,Ajax,Http,Asynchronous,Safari,我有一个角度的应用程序。我对POST调用和使用$http指令有异议。在我的控制器中,我通过使用Api服务进行两次调用:getMe()和and assignments(csv): 分配:功能(csv){ var deferred=$q.deferred(); $http({ 方法:“POST”, url:“/api/numbers/assignments”, 标题:{ “内容类型”:“应用程序/x-www-form-urlencoded” }, 数据:$.param({ 诡辩:错, 作业:csv

我有一个角度的应用程序。我对POST调用和使用$http指令有异议。在我的控制器中,我通过使用Api服务进行两次调用:getMe()和and assignments(csv):

分配:功能(csv){
var deferred=$q.deferred();
$http({
方法:“POST”,
url:“/api/numbers/assignments”,
标题:{
“内容类型”:“应用程序/x-www-form-urlencoded”
},
数据:$.param({
诡辩:错,
作业:csv,
})
}).成功(功能(数据){
延迟。解析(数据);
}).错误(函数(数据){
延迟。拒绝(数据);
})
回报。承诺;
},
getMe:function(){
返回此.cachedGet(“/users/me”);
},

在AngularJS v1.4中,该框架使url参数序列化程序可用于对仅支持内容类型
应用程序/x-www-form-urlencoded
的API的POST请求

function assignments(csv){
    promise = $http({
      method: 'POST',
      url: '/api/numbers/assignments',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      data: {
        skipBillables: false,
        assignments: csv,
      },
      transformRequest: $httpParamSerializer
    });
    return promise;
}

对于不接受AngularJS框架默认值
application/json
的API,应用程序程序员不再需要编写自己的序列化程序或为其序列化程序加载jQuery。

Angular v1.2的最新错误修复是v1.2.32。试试那个版本,看看是否有任何与Safari相关的bug被修复。谢谢@georgeawg,我会试试的。@georgeawg试过了。这似乎不是问题的根源。