1 小常识:
二维码可以制作成url
url也可以制作二维码
2 流程:
先定一个url: http://192.168.1.xxx/?code=123 可以通过草料制作成一个二维码。 手机扫描二维码后,进入后台控制层。
经过查询将数据返给页面展示。
3 实现:
//根据Url得到参数得值
function GetqueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
//后台发送code值,回调得到查询的数据
$.ajax({
type:"post",
url:'http://192.168.1.127:1029/a/api/v1/queryFake/list', //向后台发送请求
data:GetqueryString("code"),//这个值向后台发送 也就code=123
success:function(data){ //这个是回调,data值是后台查询出来的值
console.log(data)//控制台看一下,
// alert(typeof(data));//是个json 字符串类型
var obj = eval('(' + data + ')'); //string类型 转换为json对象
var a=JSON.parse(data) //解析json (不能少)
console.log(a);
console.log(a.pName); //输出属性
$("#name").append(a.pName);
$("#code").append(GetqueryString("code")); //在页面展示
}
})
@Controller
@RequestMapping(value = "${adminPath}/api/v1")
public class ApiQueryFakeController extends BaseController {
private int flag = 0;
@Autowired
private QueryFakeService queryFakeService;
@Autowired
private QueryReportService queryReportService;
@Autowired
private QueryReportDetailService queryReportDetailService;
private JsonMapper JsonMapper;
@SuppressWarnings("static-access")
@RequestMapping(value = "/queryFake/list", method = RequestMethod.POST)
@ResponseBody
public String list(QueryReport queryReport , QueryFake queryFake, HttpServletRequest request, HttpServletResponse response, Model model,
@RequestBody String code) throws IOException {
code = code.replace("=","");//=替换
//根据code查询对象
queryReport.setqCode(code);
List<QueryReport> list = queryReportService.findList(queryReport);
QueryReport report = list.get(0);
String json = JsonMapper.getInstance().toJson(report);
response.getWriter().write(json);
return JsonMapper.getInstance().toJson(list);
}