drag2458 2018-07-09 09:37
浏览 47
已采纳

为什么数组不会通过ajax调用发送?

In my ajax code I'm sending an associative array to the go lang api but go lang would not receiving any array. Why?

for (var i = 1; i <= optionsArr; i++) {
    span_arr.push({
        day       : valueSelected,
        time_slug : i,
        timing    : $("#"+i).text(),
        count     : $('#select_count'+i).val()
    });
}
console.log(span_arr[1].time_slug);
$.ajax({
    url:"/api/v1/provider_spot",
    type:"POST",
    data:{span_arr:span_arr},
    dataType:"json",
    success:function(response){
        console.log(response);
    }
});

Why this ajax will not sending the array to the go api? Here in go lang following mvc structure I want to receiving this data:

 Route{"SaveProviderSpot", "POST", "/provider_spot", controller.SaveProviderSpot},

 func SaveProviderSpot(c *gin.Context) {
   fmt.Println(c.PostForm("span_arr"))
 }
  • 写回答

1条回答 默认 最新

  • dongsimang4036 2018-07-09 10:01
    关注

    You can not send an array directly from client to server,due to the array definition may not be the same in both sides.

    Two ways to solve it:

    a. You can convert the array into a json string in the clinet,then send it to server as a string parameter,in the server side,you can parse it and convert it to array

    b. Iterate the array,and convert it to a string using some special characters,also pass to server as string parameter,an example is as below:

    var dataStr = "";
    for (var i = 1; i <= optionsArr; i++) {
        //each array element split with 3 semicolons,and each property in element split with 2 semicolons
        dataStr += valueSelected + ";;" + i + ";;" + $("#"+i).text() 
               + ";;" + $('#select_count'+i).val() + ";;;";
    }
    $.ajax({
        url:"/api/v1/provider_spot",
        type:"POST",
        data:{dataStr:dataStr},
        dataType:"json",
        success:function(response){
            console.log(response);
        }
    });
    //now it is correct
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路