mui.ajax如何解决跨域问题

1、我后台使用C#发布了一个webservice。

2、在pc端使用ajax jsonp可以访问。

3、在移动端使用zepto使用同样的代码则无法解决。

请教下,谢谢!!!



2015-01-27 23:19 添加评论 分享
已邀请:
0

jclarry

赞同来自:

你确定你的webservice jsonp可以了。你用jquery的再试试


0

DCloud_MUI_FXY

赞同来自:

在5+客户端内,mui.ajax支持直接跨域访问html,json,xml,text,目前暂不支持jsonp


0

myzyq

赞同来自:

请问楼主最后怎么样了?问题解决了吗?


0

粥冰

赞同来自:

我的是通过设置服务器来解决的


0

alongSelf

赞同来自:

楼主 解决出出来告诉大家一声


0

alongSelf

赞同来自:

我的问题已经解决

后台代码如下:
public static void reSponseJson(String string,HttpServletResponse response) {
response.setContentType("text/json; charset=utf-8");
response.setHeader("Access-Control-Allow-Origin", "");
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = null;
try {
out = response.getWriter();
out.print(string);
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
out.close();
}
}
ajax 代码如下:
var url = "http://192.168.1.100/lpAppService/JobMngController.do?action=jobListForPage";
mui.ajax(url, {
data: {
rows: rows,
page: page
},
//dataType: 'json', //服务器返回json格式数据
type: 'post', //HTTP请求类型
timeout: 1000, //超时时间设置为10秒;
success: function(data) {
console.info(data);
},
error: function(xhr, type, errorThrown) {
//异常处理;
console.log(type);
}
});
问题出在:一定要在head里面加上
<meta http-equiv="Access-Control-Allow-Origin" content="">
<meta http-equiv="content-security-policy">

head里面的内容如下:
<head>
<meta charset="utf-8">
<title>Hello MUI</title>
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta http-equiv="content-security-policy">
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
</head>


0

智学无忧

赞同来自:

找到源码 mui.js,大概在2968行,把 setHeader('X-Requested-With', 'XMLHttpRequest'); 这段代码注释掉。
本人亲测可以。


要回复问题请先登录注册

退出全屏模式 全屏模式 回复