java与小程序交互时返回数据为NaN
微信小程序控制台出错的页面
解决方法
经过解决才发现是console.log(+res.data)多了一个+号,去掉就没错了
小程序.js代码
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 数据库连接
*/
bindtest: function () {
wx.request({
url: 'http://localhost:8080/test',//服务器地址(localhost:8080/路径名)
data: {
username: 'zhangsan',
password: 'zs'
},
method: 'GET',
header: {
'content-type': 'application/json' // 默认值application/x-www-form-urlencoded(String)
},
success: function (res) {
console.log(+res.data);
},
fail: function (res) {
console.log(".....fail.....");
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
.wxml代码
<view>
<button bindtap='bindtest'>test</button>
</view>
java中controller中的代码(框架用了spring-boot使用)
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.Writer;
@RestController
public class WXTestController {
@RequestMapping(value="/test")
protected void buttonTest(String username, String password, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("进入doGet........");
response.setContentType("text/html;charset=utf-8");
/* 设置响应头允许ajax跨域访问 */
response.setHeader("Access-Control-Allow-Origin", "*");
/* 星号表示所有的异域请求都可以接受, */
response.setHeader("Access-Control-Allow-Methods", "GET,POST");
//获取微信小程序get的参数值并打印
username = request.getParameter("username");
password = request.getParameter("password");
System.out.println("username="+username+" ,password="+password);
//返回值给微信小程序
Writer out = response.getWriter();
out.write("ssss");
out.flush();
}
}