Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
Jquery Ajax不返回JSON数据_Jquery_Sql_Json_Ajax_Groovy - Fatal编程技术网

Jquery Ajax不返回JSON数据

Jquery Ajax不返回JSON数据,jquery,sql,json,ajax,groovy,Jquery,Sql,Json,Ajax,Groovy,我试图执行一个简单的Ajax请求,该请求将调用groovy脚本并返回脚本生成的JSON字符串 这是我的Ajax: var myUrl = "connections.groovy"; $.ajax({ url : myUrl, type: 'GET', success : function(results) { console.log(results) } }); 下面的groovy脚本用于从数据库收集JSON并将其返回到html页面 连接。gr

我试图执行一个简单的Ajax请求,该请求将调用groovy脚本并返回脚本生成的JSON字符串

这是我的Ajax:

var myUrl = "connections.groovy";

$.ajax({
    url : myUrl,
    type: 'GET',
    success : function(results) {
        console.log(results)
    }
});
下面的groovy脚本用于从数据库收集JSON并将其返回到html页面

连接。groovy

def cellTabel() {

    def db = [url:'jdbc:mysql://###.##.#.##', user:'###', password:'###', driver:'com.mysql.jdbc.Driver']
    def resultset = Sql.newInstance(db.url, db.user, db.password, db.driver).rows('SELECT count(*) as NumberOfRecords,work_station,sum(marshalled) as marshalled,sum(picked) as picked, sum(complete) as complete FROM vantec.document_header where date_created >= CURRENT_DATE() and work_station != "" group by work_station')
    return new JsonBuilder(resultset).toString()
}

cellTabel();    
如果我在groovy控制台中自己运行groovy代码,它会工作并生成我正在寻找的JSON代码,但是当我在页面上从ajax运行它时,我什么也没有得到

这就是我期待回来的JSON

[{"NumberOfRecords":10,"work_station":"CELL1","marshalled":10,"picked":10,"complete":10},{"NumberOfRecords":19,"work_station":"CELL2","marshalled":19,"picked":19,"complete":19},{"NumberOfRecords":10,"work_station":"CELL3","marshalled":10,"picked":10,"complete":10},{"NumberOfRecords":10,"work_station":"CELL4","marshalled":10,"picked":10,"complete":10},{"NumberOfRecords":6,"work_station":"CELL5","marshalled":6,"picked":6,"complete":6},{"NumberOfRecords":1,"work_station":"CELL6","marshalled":0,"picked":1,"complete":1},{"NumberOfRecords":9,"work_station":"CELL7","marshalled":1,"picked":7,"complete":7},{"NumberOfRecords":1,"work_station":"CELL8","marshalled":0,"picked":1,"complete":1},{"NumberOfRecords":10,"work_station":"CELL9A","marshalled":6,"picked":9,"complete":9},{"NumberOfRecords":9,"work_station":"CELL9B","marshalled":6,"picked":8,"complete":8}]
这就是我在groovy控制台中运行connections.groovy时返回的JSON

编辑: 控制台中的响应 网络选项卡打开
将groovlet更改为:

// other stuff
def cellTabel() {

    def db = [url:'jdbc:mysql://###.##.#.##', user:'###', password:'###', driver:'com.mysql.jdbc.Driver']
    def resultset = Sql.newInstance(db.url, db.user, db.password, db.driver).rows('SELECT count(*) as NumberOfRecords,work_station,sum(marshalled) as marshalled,sum(picked) as picked, sum(complete) as complete FROM vantec.document_header where date_created >= CURRENT_DATE() and work_station != "" group by work_station')
    return new JsonBuilder(resultset).toString()
}

response.contentType = 'application/json'
println cellTabel()

将groovlet更改为:

// other stuff
def cellTabel() {

    def db = [url:'jdbc:mysql://###.##.#.##', user:'###', password:'###', driver:'com.mysql.jdbc.Driver']
    def resultset = Sql.newInstance(db.url, db.user, db.password, db.driver).rows('SELECT count(*) as NumberOfRecords,work_station,sum(marshalled) as marshalled,sum(picked) as picked, sum(complete) as complete FROM vantec.document_header where date_created >= CURRENT_DATE() and work_station != "" group by work_station')
    return new JsonBuilder(resultset).toString()
}

response.contentType = 'application/json'
println cellTabel()

你得到了后端方法的调用吗?@yashviersingh抱歉,我不完全理解你的问题,所以你正在进行的Ajax调用是否调用了正确的函数,返回了I.e cellTabel1()。您也可以在“网络”选项卡上查看请求details@YashveerSingh是的,这是目前连接页面上唯一的方法,所以只要它调用它运行的页面,该方法就可以了。您检查了控制台是否有错误吗?并且您得到了后端方法的调用吗?@yashviersingh抱歉,我不完全理解您的问题,所以Ajax调用您正在使它调用返回i.e cellTabel1()的正确函数。您也可以在“网络”选项卡上查看请求details@YashveerSingh是的,这是目前连接页面上唯一的方法,所以一旦它调用运行该方法的页面,您是否检查了控制台中的错误?