我的grails服务方法运行正常。
它通过GET请求提取JSON。转移到prod后,我们不得不将协议更改为HTTPS,现在我得到了一个例外。
我是否需要更改才能使用HTTPS协议?我查看了The HTTPBuilder Documentation,我找不到使用HTTPS的单一参考。我也无法在Google上找到一个例子。
def reportList = new ArrayList()
def result
//TODO Dynamic PatientKey
def http = new HTTPBuilder( 'https://mydomain/servicename?key=' + key )
reportList = null
http.request( GET, JSON ) { req ->
headers.Accept = 'application/json'
response.success = { resp, reader ->
reportList = reader.getAt("patientReports")
}
}
}
[ reportList : reportList ]
答案 0 :(得分:2)
你得到的例外是什么? 请检查SSL证书是否对网站有效。更多信息。
http://groovy.codehaus.org/modules/http-builder/doc/ssl.html
答案 1 :(得分:0)
此Grails插件解决方案在测试或本地环境中运行良好,因为Same-Origin策略将阻止您实现前端jQuery AJAX调用,因为域不同。
在Prod中,由于使用了HTTPS,并且由于域是相同的,因此jQuery AJAX调用比在控制器中使用逻辑并使用REST插件要好得多。
$.getJSON('${YOUR_URL}', function(data){ var yourData = data.yourData; //Operate on data here });