本帖最后由 kankancom 于 2015-11-27 10:55 编辑
直接上代码:
1。使用api.ajax时:
var param = {
action:'get_info',
orderby:'meta_value',
order:'DESC',
paged:page,
number:10,
meta_key:'dmztime',
meta_query: [{
value:['2015-11-01','2015-11-32'],
key:'dmztime',
compare:'BETWEEN'
}]
};
api.ajax({
url: serverUrl ,
method: 'post',
cache: false,
timeout: 600,
dataType: 'json',
data: {
values: param
}
}, function (ret, err) {
callBack(ret, err);
});
服务器拿到的数据是:注意“meta_query”的值是字符串
{paged=1, order=DESC, meta_key=dmztime, reqCode=init, action=get_info, orderby=meta_value, number=10, meta_query=[{"value":["2015-11-01","2015-11-30"],"key":"dmztime","compare":"BETWEEN"}]}
2。使用jquery的ajax时:
var param = {
action:'get_info',
orderby:'meta_value',
order:'DESC',
paged:page,
number:10,
meta_key:'dmztime',
meta_query: [{
value:['2015-11-01','2015-11-32'],
key:'dmztime',
compare:'BETWEEN'
}]
};
$.ajax({
type : 'POST',
url : serverUrl,
data : param,
dataType : 'json',
success : function(ret) {
callBack(ret);
},
error : function(xhr, type) {
alert($api.jsonToStr(type));
}
})
服务器拿到的数据是:注意“meta_query”的值是数组对象
{paged=1, meta_query[0][key]=dmztime, order=DESC, meta_key=dmztime, reqCode=init, action=get_info, meta_query[0][compare]=BETWEEN, number=10, orderby=meta_value, meta_query[0][value][]=[2015-11-01, 2015-11-30]}
不要怀疑我的打印方式问题,我服务器端用的是JAVA,我是用eclipse调试直接看的request对象。
我怀疑是api.ajax的问题,对传参做了什么处理,导致了这样的问题。然后你可能会说,那你就用jquery呗。实际上我服务器用的是https,所以我还必须得用api.ajax,大神们,你怎么看?