NutzCN Logo
问答 当一个方法有标准的json数据以及url?parameter=xx&&parameter1=xx的时候该怎么处理适配器的问题。
发布于 2219天前 作者 qq_046f8286 1615 次浏览 复制 上一个帖子 下一个帖子
标签:

之前使用的时候,是自适应的,ajax传入的data是javascriptObj,因为加了JSON.stringify(tempJsonObj),以后就是纯json了,然后出现了现有问题,有办法解决吗?

修改之前的请求格式

var json = mini.encode(data); //data为obj
   //此时,public_getServerData方法里面没有用JSON.stringify
	var ret = public_getServerData(base
			+ "/hrp/d/welfare/controller/mWelfare/saveWelfare", {
		data : json
	});

ajax 请求

$.ajax({
		type : 'POST',
		url : surl,
		data : JSON.stringify(tempJsonObj),
		dataType : "json",
		// beforeSend:ajaxLoading,//发送请求前打开进度条
		error : function(jqXHR, textStatus, errorThrown) {
			if (confirm("与服务器通讯失败,可能因为超时,是否重新登录?")) {
				top.location = '/fzzl';
			}
		},
		cache : false,
		async : false,
		success : function(serverReturn) {
			retvalue = serverReturn;
			// ajaxLoadEnd();// 关闭进度条
			if (b) {
				successCallbackMethod(serverReturn);
			}
		}
	});

url:
welfareDetailIds.load(base+ "/hrp/d/welfare/controller/mWelfare/queryWelfareTypeDetail?id=" + welfareId);

action

     @At("/queryWelfareTypeDetail")
	@Ok("json")
	public Object queryWelfareTypeDetail(@Param("..") Map map) {
		return mWelfareService.queryWelfareTypeDetail(map);
	}

错误信息:

请求路径(不包括项目名称):http://localhost:8080/fzzl/hrp/d/welfare/controller/mWelfare/queryWelfareTypeDetail
请求参数:id=172
请求IP地址:0:0:0:0:0:0:0:1
9 回复

是两者都一起传??

是的,之前会存在一个方法供url和ajax两种情况使用情况.

我是说, 在同一个请求里面, url参数和json会一起传?

不会,在一个方法里面,只会出现一种情况.

@AdaptBy(type=JsonAdaptor.class) 应该就ok了

我clear一下tomcat试试,有问题再来问你吧。

JsonAdaptor已经重写了getReferObject方法了,就不能弄键值对的url请求了啊。url请求的时候,大多都是application/x-www-form-urlencoded请求,用JsonAdaptor,搞不定吧。
@wendal

可以试试WhaleAdapter

添加回复
请先登陆
回到顶部