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

标签 javascript jquery ajax google-apps-script web-applications

我正在将 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/

相关文章:

ajax - Spring 3 + JSON : HTTP status 406? 的问题

javascript - 有没有办法为 HTML 页面中的所有按钮设置 onContextMenu 属性?

javascript - 结合两个ajax函数?

javascript - 在全屏模式 Internet Explorer 中检测事件变化

php - 使用 AJAX(PHP 和 JQuery)聊天心跳

javascript - jQuery.ajax 将不需要的参数放入 URL

javascript - 禁用所有 material-ui 组件的拼写检查

javascript - angular.fromJson(data.Body) 与 JSON.parse(data.Body)

javascript - 如何在 require 中使用原型(prototype)?

javascript - jQuery .hide 和通过灯箱导航不起作用