A. 求助,关于mui ajax获取不到后台数据
首先你先要确定到底收到数据没 所以第一步,你先去到dataType,在success的回调函数这么写 success: function(info) { console.log(info);}把收到的数据打印到控制台,在控制台里看有没有接收到数据,如果打印出了字符串,证明你接受是没有问题...
B. MUI 的Ajax跨域问题怎么解决
由 于前少写前端代码(哈哈合格程序员啊)近项目用json作系统间交互手段自伴随着众ajax请求随要解决 ajax跨域问题本篇讲述白遇跨域知道跨域问题知道跨域问题知道何解决再解决跨域问题找两种解决ajax 跨域问题全程 知跨域问题 起 复用减少重复发单独发用户权限管理系统共其系统获取认证与授权信息暂且称A系统;调用A系统B例B系统 用ajax调用A系统系统接口(数据格式json)特别困惑A系统访问相应url返json数据B系统使用 ajax请求同url则点反应都没像都没发反反复复改改久都没能解决于求救同事提醒能ajax跨域问 题于问题做跨域问题解决 知跨域知何解决 知道问题确切原剩找解决问题google久再同事指点知道jQueryajaxjsonp属性用解决跨域问题 找种解决式 现知道解决跨域问题余实现细节实现程错误避免由于解jsonjsonp两种格式区别犯错误google久才解决 首先看看页面何使用jQueryajax解决跨域问题简单版: 复制代码 $(document).ready(function(){ var url='中国//localhost:8080/WorkGroupManagment/open/getGroupById" +"?id=1&callback=?'; $.ajax({ url:url, dataType:'jsonp', processData: false, type:'get', success:function(data){ alert(data.name); }, error:function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); }}); }); 复制代码 写完全没问题起先error处理函数仅仅alert(error)进步弄清楚原造错误故处理函数变 面实现式行alert使用;parsererror百思其解继续google终万能stackoverflow找 答案链接原jsonp格式与json格式着细微差别所server端代码稍稍所同 比较json与jsonp格式区别: json格式: { "message":"获取功", "state":"1", "result":{"name":"工作组1","id":1,"description":"11"} } jsonp格式: callback({ "message":"获取功", "state":"1", "result":{"name":"工作组1","id":1,"description":"11"} }) 看区别吧urlcallback传台参数神马callback神马jsonp比json外面层callback()知道处理于修改台代码 台java代码终: 复制代码 @RequestMapping(value = "/getGroupById") public String getGroupById(@RequestParam("id") Long id, HttpServletRequest request, HttpServletResponse response) throws IOException { String callback = request.getParameter("callback"); ReturnObject result = null; Group group = null; try { group = groupService.getGroupById(id); result = new ReturnObject(group, "获取功", Constants.RESULT_SUCCESS); } catch (BusinessException e) { e.printStackTrace(); result = new ReturnObject(group, "获取失败", Constants.RESULT_FAILED); } String json = JsonConverter.bean2Json(result); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); out.print(callback + "(" + json + ")"); return null; } 复制代码 注意需要先查询结转换我json格式用参数callbackjson外面再套层变jsonp指定数据类型jsonpajax做进步处理 虽解决跨域问题顾造parsererror原原于盲目json格式数据做jsonp格式数据让ajax处理造错误server端代码: 复制代码 @RequestMapping(value = "/getGroupById") @ResponseBody public ReturnObject getGroupById(@RequestParam("id") Long id, HttpServletRequest request, HttpServletResponse response){ String callback = request.getParameter("callback"); ReturnObject result = null; Group group = null; try { group = groupService.getGroupById(id); result = new ReturnObject(group, "获取功", Constants.RESULT_SUCCESS); } catch (BusinessException e) { e.printStackTrace(); result = new ReturnObject(group, "获取失败", Constants.RESULT_FAILED); } return result; } 复制代码 至解决ajax跨域问题第种式告段落 追加种解决式 追求永止境google程意发现专门用解决跨域问题jQuery插件-jquery-jsonp 第种式基础使用jsonp插件比较简单server端代码需任何改 看何使用jquery-jsonp插件解决跨域问题吧 复制代码 var url="中国//localhost:8080/WorkGroupManagment/open/getGroupById" +"?id=1&callback=?"; $.jsonp({ "url": url, "success": function(data) { $("#current-group").text("前工作组:"+data.result.name); }, "error": function(d,msg) { alert("Could not find user "+msg); } })
C. MUI上拉刷新ajax请求不到url参数,求解
<!--下拉刷新容器-->
<divid="pullrefresh"class="mui-contentmui-scroll-wrapper">
<divclass="mui-scroll">
<!--数据列表-->
<ulclass="mui-table-view">
</ul>
</div>
</div>
<scripttype="text/javascript">
mui.init
({
pullRefresh:
{
container:'#pullrefresh',
down:{
callback:pulldownRefresh
},
up:{
contentrefresh:'正在加载...',
callback:pullupRefresh
}
}
});
//下拉刷新具体业务实现
functionpulldownRefresh()
{
setTimeout(function()
{
vartable=document.body.querySelector('.mui-table-view');
varcells=document.body.querySelectorAll('.mui-table-view-cell');
//模拟数据
for(vari=cells.length,len=i+3;i<len;i++){
varli=document.createElement('li');
li.className='mui-table-view-cell';
li.innerHTML='<aclass="mui-navigate-right">Item'+(i+1)+'</a>';
//下拉刷新,新纪录插到最前面;
table.insertBefore(li,table.firstChild);
}
mui('#pullrefresh').pullRefresh().endPulldownToRefresh();//refreshcompleted
},1500);
}
varcount=0;
//上拉加载具体业务实现
functionpullupRefresh()
{
setTimeout(function(){
mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count>2));//参数为true代表没有更多数据了。
vartable=document.body.querySelector('.mui-table-view');
varcells=document.body.querySelectorAll('.mui-table-view-cell');
for(vari=cells.length,len=i+20;i<len;i++){
varli=document.createElement('li');
li.className='mui-table-view-cell';
li.innerHTML='<aclass="mui-navigate-right">Item'+(i+1)+'</a>';
table.appendChild(li);
}
},1500);
}
if(mui.os.plus){
mui.plusReady(function(){
setTimeout(function(){
mui('#pullrefresh').pullRefresh().pullupLoading();
},1000);
});
}else
{
mui.ready(function(){
mui('#pullrefresh').pullRefresh().pullupLoading();
});
}
</script>
D. 为什么mui下拉刷新会执行了两次接口
一资料参考
二实现步骤
HTML内容
通过muiinit方法中pullRefresh参数配置各项参数
下拉刷新具体业务实现
上拉加载具体业务实现
自动下拉刷新
到接口取数据
一、资料参考
官方文档:http://dev.dcloud.net.cn/mui/pulldown/
二、实现步骤
1.HTML内容
(最好按照这个结构来布置,当然 id的位置可以稍微根据实际需要来调整)
2.通过mui.init方法中pullRefresh参数配置各项参数
3.下拉刷新具体业务实现
4.上拉加载具体业务实现
5.自动下拉刷新
此处只提供一种方法,因为在init参数配置中,auto:true,也能实现同样的效果,目前还不知道两者的区别。
6.到接口取数据
此处提供的是ajax方法。同时处理”上拉显示更多”以及“没有更多数据”的翻页切换。
E. mui.ajax 访问 报Not Acceptable 谁知道怎么解决啊
您好,您这个应该是 链接问题。ajax已经进入error,说明ajax访问的url不通,没有访问到后台,或者被访问的后台里代码有错误,导致ajax未能成功执行,所以回调函数进入error。
建议您检查一下网络链接,将url放入浏览器查看连接是否通畅。若连接通畅,请检查存放后台的PC是否打开了防火墙,导致端口被限制。如果您的ajax写在app端,则检查手机网络是否畅通。
F. mui的ajax请求,页面刷新了 是什么情况
看一下请求方式,及参数个数及名称是否对应,最后看下服务是否已经发布好