gpt4 book ai didi

javascript - 使用 PhantomJS 将 Ajax 请求发送到本地 ColdFusion 服务器

转载 作者:行者123 更新时间:2023-11-30 16:02:37 25 4
gpt4 key购买 nike

我想使用 PhantomJS 和 highcharts 来生成报告。但是对于我的图表,我的数据在 SQL 数据库中。通常,为了生成我的图表,我使用带有文件 query.cfc (coldfusion) 的 ajax 请求,我的图表可以正常工作。但是对于 PhantomJS,如果我用我的 ajax 请求添加一个函数,我会在回调中出错 - 错误 404 但我不知道为什么。它与我在简单图表中使用的功能相同。

我使用以下命令启动 PhantomJS:phantomjs --web-security=no test.js

var system = require('system');
var page = require('webpage').create();
var fs = require('fs');

// load JS libraries
page.injectJs("jquery-2.1.1.js");
page.injectJs("highcharts.js");
page.injectJs("exporting.js");

// chart demo
var args = {
width: 600,
height: 500
};
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
var svg = page.evaluate(function(opt) {
$('body').prepend('<div id="container"></div>');

function test() {
$.ajax({
type: "POST",
async: false,
url: "query3.cfc?method=test",
data: {
'arg1': 'aee',
'arg2': 'ss'
},
success: function(year) {
var lim_annee = jQuery.parseJSON(year);
console.log('success');
},
error: function(jqXHR, exception) {
console.log('erreur ' + jqXHR.status);
console.log('erreur2 ' + exception);
}
});
};
//chart Code
return chart.getSVG();
}, args);

page.render('img.jpeg', {
format: 'jpeg',
quality: '100'
});
phantom.exit()
});

最佳答案

如果您不在 PhantomJS 中打开页面,它将停留在“about:blank”并且“about:blank/query3.cfc?method=test”似乎不是正确的 URL。使用正确的 URL 到您的 ColdFusion 服务器:

url: "http://localhost:port/query3.cfc?method=test",

在执行任何其他操作之前在 PhantomJS 中初始化基础域:

page.setContent("", "http://localhost:port/");

请记住,如果您要打开简单的本地 HTML 文件,则需要使用“file://”协议(protocol)并删除任何查询字符串。

此外,加载多个 jQuery 版本可能会破坏您的脚本。

关于javascript - 使用 PhantomJS 将 Ajax 请求发送到本地 ColdFusion 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37495930/

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