jsonp进行跨域访问,回调函数作为参数返回值的二种类型

jsonp进行跨域访问,回调函数作为参数返回值的二种类型

第一种是返回字符串(大多是json串),这种方式需要我们自己封装一下结果的格式:callback+“(”+json +");";

@RequestMapping(value="/item/list", 
			produces=MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8")
	@ResponseBody
	public String getItemCatList(String callback) {
		CatResult catResult = itemCatService.getItemCatList();
		//把pojo转换成字符串
		String json = JsonUtils.objectToJson(catResult);
		//拼装返回值
		String result = callback + "(" + json + ");";
		return result;
	}

第二种是返回object,利用jackjson提供的封装类来返回数据

@RequestMapping("/item/list")
	@ResponseBody
	public Object getItemCatList(String callback) {
		CatResult catResult = itemCatService.getItemCatList();
		MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(catResult);
		mappingJacksonValue.setJsonpFunction(callback);
		return mappingJacksonValue;
	}


你可能感兴趣的:(json)