使用 D3 Xhr 调用 Perl 脚本
Call Perl script using D3 Xhr
我有一个带有HTML表单的Web应用程序。当我按提交时,我想将此表单中的值提交到 perl 脚本 parseDatabaseData_v2.pl,该脚本从数据库中获取数据并创建该数据的 JSON 字符串。
然后,我想使用 D3 图可视化此 JSON 数据。以下使用 jquery ajax 的代码工作,并按预期从 perl 脚本返回 JSON。
var runFromDate = $('#runDateSelectBox1').val();
var runToDate = $('#runDateSelectBox2').val();
var barcode = $('#barcodesSelectBox').val();
var dataString = 'runFromDate='+ runFromDate + '&runToDate=' + runToDate + '&barcode=' + barcode;
// ajax command
$.ajax({
type: 'POST',
url: './cgi-bin/parseDatabaseData_v2.pl',
async: true,
data: dataString,
dataType: "json",
success: function(data) {
console.log("succesfully called script");
}
}); // end of ajax command
在perl脚本中,我使用cgi->param('runFromDate');
来获取发布的参数。
但是,由于我使用 NVD3 的lineWithFocusChart
可视化数据,因此我想使用 d3.xhr 调用脚本。
当我创建以下 d3.xhr 请求时,脚本不起作用(它被调用,但无法获取参数)。
var runFromDate = document.getElementById("runDateSelectBox1").value;
var runToDate = document.getElementById("runDateSelectBox2").value;
var barcode = document.getElementById("barcodesSelectBox").value;
var dataString = 'runFromDate='+ runFromDate + '&runToDate=' + runToDate + '&barcode=' + barcode;
d3.xhr("./cgi-bin/parseDatabaseData_v2.pl")
.header("Content-Type", "application/x-www-form-url-encoded")
.post(dataString,function(error, data){
console.log("succesfully called script");
console.log(data);
});
我已经尝试了各种格式化数据字符串的方法,包括将其格式化为 JSON,如 D3 API 参考中所述。
如果有人愿意帮助我,我将不胜感激。
谢谢
科恩
url 和编码之间有一个虚假的连字符!
改变
.header("Content-Type", "application/x-www-form-url-encoded")
自
.header("Content-Type", "application/x-www-form-urlencoded")
看起来你不是唯一一个,正如最近的另一个答案所显示的那样。似乎有问题的代码已经在 d3.js wiki 中,所以我也更新了它。
相关文章:
- 无法使用ajax/javascript将文件上传到perl脚本
- 如何在网页中显示perl脚本结果
- 将简单的Perl脚本翻译成Python,向客户端发送响应
- perl脚本中的javascript
- 从 Web UI 与本地 Perl 脚本接口
- 从 JavaScript 调用 Perl 脚本
- 一个单独的Perl脚本可以运行一个网站的JavaScript函数吗?
- BlackBerry WebWorks应用程序中的Perl脚本
- 在ajax中使用post方法和perl脚本&参数
- 如何在单击时禁用提交按钮并将表单数据提交到perl脚本
- 在加载html页面时运行perl脚本
- 使用CGI方法通过web服务器将参数从JavaScript传递到Perl脚本
- 将一个变量从支持javascript的网页传递给Perl脚本
- 通过 APACHE 服务器调用多个 perl 脚本
- 在perl脚本中调用uglifyjs (javascript函数)
- 当Javascript调用Perl脚本时,捕获OS异常
- 我需要进行Ajax调用并显示我的DB表的内容,我使用Perl CGI并试图通过javaScript调用Perl脚本
- 我如何从web传递信息到perl脚本
- 从JavaScript调用Perl脚本
- jQuery -运行perl脚本(全部独立)