汪阿浠
汪阿浠
  • 发布:2017-04-12 15:45
  • 更新:2019-01-14 16:28
  • 阅读:3256

关于mui.ajax的问题!

分类:MUI

用官方的登录模板调用远程数据端,获取不到数据的问题。
postman调用接口正常获取:


控制台一直显示错误:

请问大神们,到底要则么传输表单值,然后获取数据呢? 现在控制台也打印不出数据!
代码如下:

<!doctype html>  
<html>  
  
<head>  
	<meta charset="UTF-8">  
	<title></title>  
	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
	<link href="../../css/mui.min.css" rel="stylesheet" />  
</head>  
<body>  
	<div class="mui-content">  
		<div class="mui-content">  
			<form id='login-form' class="mui-input-group">  
				<div class="mui-input-row">  
					<label>账号</label>  
					<input id='account' type="text" class="mui-input-clear mui-input" placeholder="请输入账号">  
				</div>  
				<div class="mui-input-row">  
					<label>密码</label>  
					<input id='password' type="password" class="mui-input-clear mui-input" placeholder="请输入密码">  
				</div>  
			</form>  
			<form class="mui-input-group">  
				<ul class="mui-table-view mui-table-view-chevron">  
					<li class="mui-table-view-cell">  
						自动登录  
						<div id="autoLogin" class="mui-switch">  
							<div class="mui-switch-handle"></div>  
						</div>  
					</li>  
				</ul>  
			</form>  
			<div class="mui-content-padded">  
				<button type="button" id='login' class="mui-btn mui-btn-block mui-btn-primary">登录</button>  
				<div class="link-area">  
					<a id='reg'>注册账号</a> <span class="spliter">|</span>  
					<a id='forgetPassword'>忘记密码</a>  
				</div>  
			</div>  
			<div class="mui-content-padded oauth-area">  
			</div>  
		</div>  
	</div>  
	<script src="../../js/mui.min.js"></script>  
	<script type="text/javascript">  
		mui.init()  
		mui.plusReady(function() {  
		})  
		var accountBox = document.getElementById('account');  
		var passwordBox = document.getElementById('password');  
		document.getElementById('login').addEventListener('tap', function() {  
			mui.ajax('http://192.168.1.100/index.php/member/api/signin', {  
				data: {  
					account: accountBox.value,  
					password: passwordBox.value  
				},  
				dataType: 'json', //服务器返回json格式数据  
				type: 'post', //HTTP请求类型  
				timeout: 10000, //超时时间设置为10秒;  
				headers: { 'Content-Type': 'application/json' },  
				success: function(data) {  
					//服务器返回响应,根据响应结果,分析是否登录成功;  
					alert('success');  
					mui.toast(JSON.stringify(data))  
  
					console.log(JSON.stringify(data));  
				},  
				error: function(xhr, type, errorThrown) {  
					//异常处理;  
					console.log(type);  
  
				}  
			});  
		});  
	</script>  
</body>  
  
</html>
2017-04-12 15:45 负责人:无 分享
已邀请:
badfl

badfl - mui详细文档:http://ask.dcloud.net.cn/article/1039

//dataType: 'json', //服务器返回json格式数据
把这句话注释掉看看

  • 汪阿浠 (作者)

    去掉了也是一样


    2017-04-12 16:11

汪阿浠

汪阿浠 (作者)

去掉了 也是一样的~!

汪阿浠

汪阿浠 (作者)

mui.post('http://192.168.1.100/index.php/member/api/signin', {  
				account: accountBox.value,  
				password: passwordBox.value  
			}, function(data) {  
				//服务器返回响应,根据响应结果,分析是否登录成功;  
				  
				console.log(JSON.stringify(data['code']));  
				mui.toast('haha');  
				alert('success');  
			}, 'json');

改用mui.post也是一样!

Trust

Trust - 少说废话

首先检查手机和本地服务,是否在同一个局域网中。
具体的error信息log一下。
另外后端debug一下,看是否正常请求到了。

黑色火焰

黑色火焰 - 个人博客:http://blog.luotiankeji.com

error建议从服务器那边着手,比如先将接收到的json数据打印出来,看是否正常。

badfl

badfl - mui详细文档:http://ask.dcloud.net.cn/article/1039

//headers: { 'Content-Type': 'application/json' } ,
这个也注释掉 看看

z***@163.com

z***@163.com

162行是哪一行。。

  • 汪阿浠 (作者)

    console.log(type);


    2017-04-12 18:27

1***@qq.com

1***@qq.com

这是不是在一个局域网内?

5***@qq.com

5***@qq.com

楼主,请问你这个问题解决了吗,我也碰到这个问题呢

汪阿浠

汪阿浠 (作者)

一个局域网!

l***@163.com

l***@163.com - sun

ajax跨域请求是要在真机上才能成功的

6***@qq.com

6***@qq.com

楼主问题解决了吗?我也遇到同样的问题。手机和本地服务在同一局域网,请求get可以请求到,post请求后台都没有收到消息。debug后台都进不到对应的方法中

该问题目前已经被锁定, 无法添加新回复