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