mui.ajax调用javaweb后端的接口,只能通过拼接URL地址实现吗?

首先谢谢各位点进来查看我的提问。

近期才接触的MUI,感觉很好用。但是在做项目的时候遇到一个问题,望能解答。

例如网站登录时,简单的form表单

<form action="login" method="post">

<p>username: <input type="text" name="username" /></p>

<p>password: <input type="text" name="password" /></p>

<input type="submit" value="Submit" />

</form>

\n

点击提交时,向java后台传参数是这样的:

http://1.2.3.4/java_api/login?username=admin&password=admin

\n

那么我在使用mui.ajax时,参照官方的写法:

mui.ajax("http://1.2.3.4/java_api/login", {

headers: {

'Content-Type': 'application/json'

},

processData: false,

data: {

username: "admin",

password: "admin",

},

dataType: 'json',

type: 'post',

timeout: 10000,

success: function(data) {

console.log(data);

},

error: function(xhr, type, errorThrown) {

mui.alert("【" + xhr + "】【" + type + "】【" + errorThrown + "】");

}

});

\n

登录会提示:"【[object object]】【error】【Internal Server Error】",但是网站使用时是正常的。

我在问答这边有看到说是可以尝试用这种格式传递参数


data: JSON.stringify({

username: "admin",

password: "admin"

}),

\n

还是不行,最后只能使用拼接url的方式进行参数传递。

var username= document.getElementById("username").value;

var password= document.getElementById("password").value;

mui.ajax("http://1.2.3.4/java_api/login?username="+username+"&password="+password, {

//中间省略

});

\n

需要传递的参数及数据少的时候还好,多的话不仔细就会出错,有什么办法可以解决吗?

最后再次感谢!



2018-01-07 19:46 添加评论 分享
已邀请:
0

DCloud_MUI_CHB

赞同来自:

应该是请求方法的问题:

http://1.2.3.4/java_api/login?username=admin&password=admin

这种方式为GET方式,但你的ajax调用方式为POST。


要回复问题请先登录注册