|
后台
/**
* 获取百度天气
*
* @param ak
* 应用AK
* @param city
* 城市
*/
public static JSONObject getWeather(String ak, String city) {
JSONObject json = new JSONObject();
OkHttpClient okHttpClient = new OkHttpClient();
String httpUrl = "http://apis.baidu.com/heweather/weather/free";
String result = null;
httpUrl = httpUrl + "?city=" + city;
try {
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
RequestBody body = RequestBody.create(JSON, "");
Request request = new Request.Builder().url(httpUrl).header("Authorization", ak).post(body).build();
Call call = okHttpClient.newCall(request);
Response response = call.execute();
result = response.body().string();
json.put("result", result);
} catch (Exception e) {
e.printStackTrace();
}
return json;
}
前台
Model.prototype.mainDataAfterNew = function(event) {
var param = new biz.Request.ActionParam();
param.setString("ak", "bGs0564S3Bh4vtGCNUaoaW1OnRkvyj3r");
param.setString("city", "北京");
biz.Request.sendBizRequest({
"context" : this.getContext(),
"action" : "getWeatherAction",
"parameters" : param,
"callback" : function(data) {
if (data.state) {
var result = JSON.parse(data.response)["HeWeather data service 3.0"][0];
if (result.status == "ok") {
alert("城市:" + result.basic.cnty + " " + result.basic.city);
alert("污染程度:" + result.aqi.city.qlty);
alert("PM2.5:" + result.aqi.city.pm25);
alert("天气情况:" + result.now.cond.txt);
alert("温度:" + result.now.tmp + "℃");
alert("风向:" + result.now.wind.sc + result.now.wind.dir + " 风速:" + result.now.wind.spd + "kmph");
}
}
}
})
};
报错如下:::::
2017-12-20 16:21:10 excute stream action, params:{"accept":"application/json","action":"getWeatherAction","actionFlag":"__action_0__","activity":"mainActivity","contentType":"json","executeContext":"","executor":"","parameters":{"ak":"bGs0564S3Bh4vtGCNUaoaW1OnRkvyj3r","city":"北京"},"process":"/PM/SM/process/constLogQuery/constLogQueryProcess"}
com.justep.exception.BusinessException: 编码: JUSTEP150087; 提示: 不支持数据类型"{"result":"{\"errNum\":300202,\"errMsg\":\"Missing apikey\"}"}", class "class org.json.JSONObject"
at com.justep.exception.BusinessException.create(Unknown Source)
at com.justep.system.transform.ResultTransform.transformByJson(Unknown Source)
at com.justep.system.transform.ResultTransform.transform(Unknown Source)
at com.justep.system.transform.ResponseTransform.transform(Unknown Source)
at com.justep.system.action.Engine.translateResult(Unknown Source)
at com.justep.system.action.Engine.invokeActions(Native Method)
at com.justep.system.action.Engine.invokeActions(Unknown Source)
at com.justep.business.server.BusinessServer.doAction(Unknown Source)
at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)
该怎么解决
|
|