未捕获错误:[$http:badreq] Http 请求配置 url 必须是字符串 (AngularJS)

Uncaught Error: [$http:badreq] Http request configuration url must be a string (AngularJS)

本文关键字:url 配置 字符串 AngularJS 请求 Http 错误 badreq http      更新时间:2023-09-26

我正在开发一个Web应用程序,遇到了一些困难,尤其是这个我很难摆脱的困难,这是代码

this.bookSpace = function (date, spaceId) {
swal({
    title: "Are you sure?",
    text: "Would you like to book this space?",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Yes, Book it!",
    closeOnConfirm: false
  },
  function () {
    var transform = function (data) {
      return $.param(data);
    };
    $http.post(
      {
        url:"/api/api/AdhocBooking?bookingDate="+date.DateTime+"&spaceId="+spaceId,
        headers: {'content-type': 'application/json; charset=UTF-8','Authorization': 'bearer'},
        transformRequest: transform,
        data: {
          "Name": "Michael Knott"
        }
      });
    swal("Booked!",
      "Your space has been booked!",
      "success");
  })

这是我得到的回复

未捕获的错误:[$http:badreq] HTTP 请求配置 url 必须是 一个字符串

谢谢。

首先,您需要替换日期。DateTime to be encodeURIComponent(date.DateTime.toString()) 发布的代码中还有一点,我看不出这个函数的原因。

function () {
    var transform = function (data) {
      return $.param(data);
    };

由于您传递的数据已经是 JSON

headers: {'content-type': 'application/json; charset=UTF-8','Authorization': 'bearer'},
        transformRequest: transform,
        data: {
          "Name": "Michael Knott"
        }

您可以在备份中删除转换请求函数,您还需要解码日期。后端中的日期时间(如果要使用它)。