gpt4 book ai didi

javascript - 在 JavaScript 中以 Ajax 发布数组数据并在服务器端读取参数

转载 作者:行者123 更新时间:2023-11-30 13:52:02 24 4
gpt4 key购买 nike

我正在将 json 格式的数组数据发布到 Google 应用脚本服务器。我关心的是如何在服务器端读取数据

                var url = myappscripturl;
var mydata = {
name : "sunil",
arraydata : [
{
phone:'7898',
landline : '2678-789'
},
{
phone:'87658',
landline : '0672348'
}

]
};
$.ajax({
url : url,
method:'POST',
data:mydata,
success: function(data){
console.log(data);
}
})

//Google App 脚本 doPost 方法:

function doPost(e){
try{
var result = {"result7":e.parameter};
var jsondata = JSON.stringify(result);
return ContentService.createTextOutput(jsondata).setMimeType(ContentService.MimeType.JSON);
}
catch(e){
var error = {"error":e};
var jsonerror = JSON.stringify(error);
return ContentService.createTextOutput(jsonerror).setMimeType(ContentService.MimeType.JSON);

}
}

在控制台中获取响应:

result7:
arraydata[0][landline]: "2678-789"
arraydata[0][phone]: "7898"
arraydata[1][landline]: "0672348"
arraydata[1][phone]: "87658"
name: "sunil"

我如何在服务器端读取电话号码?尝试在服务器端使用 JSON.parse(e.parameter) 但它不起作用

最佳答案

注意事项:

  • jquery 的 POST 方法,默认将内容发布为 application/x-www-form-urlencoded 而不是 application/json.

  • POST 发送为:

    arraydata[0][phone]=7898&
    arraydata[0][landline]=2678-789&
    name=sunil&
    arraydata[1][landline]=0672348&
    arraydata[1][phone]=87658
  • 请注意,arraydata 被转换为纯字符串键。

  • 您可以访问电话作为

    const phone = e.parameter["arraydata[1][phone]"];//87658
    const phones = e.parameters["arraydata[1][phone]"];//[87658]

引用资料:

关于javascript - 在 JavaScript 中以 Ajax 发布数组数据并在服务器端读取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58048696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com