Http Put方法在带有标题

时间:2015-10-21 05:48:40

标签: javascript angularjs http ionic-framework ionic

我正在尝试在http angularJS中使用put方法我收到错误

错误:XMLHttpRequest无法加载[url]。预检的响应具有无效的HTTP状态代码404

我的代码是:

var newRentalUrl = serverURL;
var dataObj = JSON.stringify(JSONDATA);

$http.put(newRentalUrl, dataObj, {
  headers: {
    'Content-Type': 'application/json; charset=UTF-8'
  },
}).success(function(responseData) {
  try {
    $ionicLoading.hide();
    console.log(responseData);
    //$state.go('payment');
  } catch (err) {
    console.log(err);
    $ionicLoading.hide();
  }
  $ionicLoading.hide();
}).error(function(data, status, headers, config) {
  $ionicLoading.hide();
  console.log(data);
});

在服务器端,该方法作为选项

接收
  

2015-10-21T05:37:02.947517 + 00:00 heroku [router]:at = info   method = OPTIONS path =" / v1 / home / xx"主机= xxxxxx.herokuapp.com   request_id = xxxxx-498d-4026-a39a-xxxxxxx fwd =" xxx.xxxx.xxx.xxx"   dyno = web.1 connect = 0ms service = 2ms status = 404 bytes = 481

1 个答案:

答案 0 :(得分:1)

将内容类型更改为'内容类型':' application / x-www-form-urlencoded;字符集= UTF-8'

如果是跨源资源请求,则需要在服务器中添加设置CORS头(Access-Control-Allow-Origin)。

希望它可行。

  var newRentalUrl = serverURL;
        var dataObj = JSON.stringify(JSONDATA);

    $http.put(newRentalUrl, dataObj, {
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
      },
    }).success(function(responseData) {
      try {
        $ionicLoading.hide();
        console.log(responseData);
        //$state.go('payment');
      } catch (err) {
        console.log(err);
        $ionicLoading.hide();
      }

  $ionicLoading.hide();
}).error(function(data, status, headers, config) {
  $ionicLoading.hide();
  console.log(data);
});