Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将带有PhantomJS的Ajax请求发送到本地ColdFusion服务器_Javascript_Ajax_Coldfusion_Phantomjs - Fatal编程技术网

Javascript 将带有PhantomJS的Ajax请求发送到本地ColdFusion服务器

Javascript 将带有PhantomJS的Ajax请求发送到本地ColdFusion服务器,javascript,ajax,coldfusion,phantomjs,Javascript,Ajax,Coldfusion,Phantomjs,我想使用PhantomJS和highcharts来生成报告。但对于我的图表,我的数据在SQL数据库中。通常,为了生成图表,我使用带有文件query.cfc(coldfusion)的ajax请求,我的图表可以工作。但是对于PhantomJS,如果我在ajax请求中添加一个函数,我在回调中会有一个错误——错误404,但我不知道为什么。这与我在简单图表中使用的函数相同 我启动PhantomJS时使用:PhantomJS--web security=no test.js var system = req

我想使用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()
});
var-system=require('system');
var page=require('webpage')。create();
var fs=需要('fs');
//加载JS库
page.injectJs(“jquery-2.1.1.js”);
page.js(“highcharts.js”);
page.injectJs(“exporting.js”);
//图表演示
变量args={
宽度:600,
身高:500
};
page.onConsolleMessage=函数(msg){
控制台日志(msg);
};
第页,包括http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js“,函数(){
var svg=page.evaluate(函数(opt){
$('body')。前缀(“”);
功能测试(){
$.ajax({
类型:“POST”,
async:false,
url:“query3.cfc?方法=测试”,
数据:{
“arg1”:“aee”,
“arg2”:“ss”
},
成功:功能(年){
var lim_annee=jQuery.parseJSON(年);
console.log('success');
},
错误:函数(jqXHR,异常){
控制台日志('erreur'+jqXHR.status);
console.log('erreur2'+异常);
}
});
};
//图表代码
return chart.getSVG();
},args);
page.render('img.jpeg'{
格式:“jpeg”,
质量:“100”
});
幻影。退出()
});

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

url: "http://localhost:port/query3.cfc?method=test",
或者在执行任何其他操作之前,在PhantomJS中初始化基本域:

page.setContent("", "http://localhost:port/");
请记住,如果要打开简单的本地HTML文件,则需要使用“file://”协议并删除任何查询字符串


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

404
表示ajax url不正确。是的,我知道,但我的url很好。我试过所有的路,但都是一样的。我的文件.js和.cfc在同一文件夹中检查ColdFusion函数
test
是否为
access=“remote”
。是的,我的函数测试为access=“remote”,我尝试了page.setContent(“,”),但这是相同的.404错误,如果我尝试使用url中的所有路径:“,我也有同样的错误。我不知道为什么,我的文件确实存在于我的文件夹中。好的,thx对于多个Jquery,我删除了一行如果在浏览器中打开资源,您会看到它吗?您确定ColdFusion服务器正在运行吗?请使用IP地址或“localhost”进行尝试,因为PhantomJS似乎无法读取主机文件是的,网站实际运行,因此ColdFusion服务器正在运行。好的,我用IP地址试试。谢谢你的帮助。当我尝试使用IP地址时,我会发布响应,因为localhost是服务器coldfusion安装。但文件夹inetpub位于另一个磁盘中。使用localhost,我只能访问coldfusion管理