【问题标题】:send multidimensional array in angularjs $http POST api call在 angularjs $http POST api 调用中发送多维数组
【发布时间】:2017-07-24 13:04:06
【问题描述】:

我想在 angularjs 中发送多维数组。请求从 angularjs UI 发送到 Laravel API 端,在 API 端我需要输入为

array:3 [
      0 => array:3 [
        "title" => "name1"
        "type" => "type1"
        "rate" => 11
      ]
      1 => array:3 [
        "title" => "name2"
        "type" => "type2"
        "rate" => 31
      ]
      2 => array:3 [
        "title" => "name3"
        "type" => "type3"
        "rate" => 13.333
      ]
    ]


但我不明白。我试图从角度发送的静态数据是

var values = [
              {
                  "title" => "name1"
                  "type" => "type1"
                  "rate" => 11
              },
              {
                  "title": "Make an offer Rate",
                  "type": "make_offer_rate",
                  "rate": 30
              },
              {
                  "title": "Test price",
                  "type": "test_rate",
                  "rate": 100
              }
          ];

        $http({
                method: 'POST',
                url: urls.api_url_serv+'rate?token='+token,
                transformRequest: transformRequestAsFormPost,
                data: {
                     rates:JSON.stringify(values),
                },
                withCredentials: false,
                headers: {
                     'Accept': 'application/json',
                     'Content-Type': "application/x-www-form-urlencoded"
                };

它在 API 端作为字符串当我尝试 dd() 时,响应是
"[{"title":"name1","type":"type1","rate":45},{"title":"name2","type":"type2","rate":30},{"title":"name3","type":"type3","rate":100}]"
我需要从 UI 端处理它,因为 API 部分不是由我完成的

【问题讨论】:

    标签: php angularjs multidimensional-array laravel-5


    【解决方案1】:

    你的 js 中有一个对象数组。您需要将其转换为多维数组。

    var values = [{
            "title" => "name1"
            "type" => "type1"
            "rate" => 11
        },
        {
            "title": "Make an offer Rate",
            "type": "make_offer_rate",
            "rate": 30
        },
        {
            "title": "Test price",
            "type": "test_rate",
            "rate": 100
        }
    ];
    
    var outputData = [];
    
    for (var i = 0; i < values.length; i++) {
        var input = inputData[i];
    
        outputData.push([input.Earning, input.Number]);
    }
    
    $http({
        method: 'POST',
        url: urls.api_url_serv + 'rate?token=' + token,
        transformRequest: transformRequestAsFormPost,
        data: {
            rates: JSON.stringify(outputData),
        },
        withCredentials: false,
        headers: {
            'Accept': 'application/json',
            'Content-Type': "application/x-www-form-urlencoded"
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-25
      • 2011-05-14
      • 2014-06-06
      • 2013-04-22
      • 1970-01-01
      • 2011-04-22
      • 2016-01-23
      • 2015-06-02
      相关资源
      最近更新 更多