【发布时间】:2012-11-28 08:18:56
【问题描述】:
我想将客户端 JSON 数据发布到它所在的服务器 将由 cgi-bin perl 脚本读取。一直在找例子 关于如何在服务器端读取数据但一无所获。我是 使用 dojo 版本 1.8.1....
我可以看到请求来自服务器端的 cgi 脚本,但搜索输入值没有发现 JSON 数据。
在服务器端,我可以看到从 url 属性传递的 'cmd' 参数,我还看到没有数据的 '1'。我已经在服务器端下载并安装了 JSON.pm,但在 POST 之后无法从客户端找到 JSON 数据。
服务器端 perl 脚本如何读取客户端发布的 JSON 数据??
谢谢!!!
var xhrArgs = {
url: "/cgi-bin/DataExport.cgi?cmd=file",
content: xfer_data,
headers: { \"Content-Type\": \"application/json; charset=utf-8\"},
load: function(data) {
alert('Posted!' + data);
},
error: function(error) {
alert('Error! ' + error);
}
};
dojo.xhrPost(xhrArgs);
更新..
修改dojo版本1.8.1的代码:
require(["dojo/request"], function(request){
var promise = request.post("/cgi-bin/DataExport.cgi", {
data: xfer_data,
timeout: 4000
});
promise.response.then(function(response){
var message = response.data;
alert(message);
});
});
我仍然在服务器端的 $ENV{'QUERY_STRING'} 中看不到任何内容。这 请求通过但我仍然找不到任何 JSON 数据???
var xfer_data = [ {"ID":"1",
"Device #":"176",
"Access #":"002-20",
"Address":"MH48 STEWART & CRANDON",
"TP":"MF",
"Curr":" ",
"Last":" ",
"Tdy":"8.6",
"-1":"8.6",
"-2":"8.6",
"-3":"8.6",
"-4":"8.6",
"-5":"8.6",
"-6":"8.6",
"Wk-1":"8.6",
"Wk-2":"8.6",
"Wk-3":"8.6",
"Wk-4":"8.6",
"Alarm":" R ",
"In":"14"} ];
【问题讨论】: