success: function (data) { console.log('data'); console.log(data); // var orders = JSON.parse(data); var obj = new Function("return" + data)();//转换后的JSON对象 var orders = eval(obj); for (var i = 0; i < orders.length; i++) { var order = orders[i]; var username = order.username; var account = order.account; var orderName = order.orderName; var time = order.time; var html = "<tr><td>" + username + "</td><td>" + account + "</td><td>" + orderName + "</td><td>" + time + "</td></tr>"; $("#order-list").append(html); } console.log(data); }
时间: 2024-03-04 21:53:58 浏览: 109
这是一个使用jQuery中的ajax方法获取服务器返回的数据并进行处理的示例代码。具体的步骤如下:
1. 使用jQuery的ajax方法向服务器发送异步请求;
2. 在请求成功后,使用console.log方法打印返回的数据;
3. 使用JSON.parse方法将返回的JSON字符串转换成JSON对象;
4. 使用eval方法将JSON字符串转换成JSON对象(不推荐使用);
5. 对JSON对象进行遍历,提取需要的数据并生成HTML元素;
6. 将生成的HTML元素添加到指定的DOM元素中。
需要注意的是,eval方法在执行时会将字符串中的所有代码都执行一遍,因此存在安全隐患,不建议使用。而JSON.parse方法则只会将字符串转换成JSON对象,更加安全可靠。因此,在实际开发中,我们应该尽量使用JSON.parse方法来处理JSON字符串。
另外,上述代码中,console.log('data')的输出结果为字符串"data",应该改为console.log(data)才能输出真正的数据。
相关问题
function getPlateNumber() { const plateNumber = document.getElementById("plateNumber").value; const options = { method: "GET", url: "http://10.198.8.102:8081/TruckParkTime", params: { Token: "Parking20230103163153666", TruckNo: plateNumber }, headers: { "content-type": "application/json" }, }; axios .request(options) .then(function (response) { console.log(response.data); var data = JSON.parse(response.data); console.log(data.TruckNo); console.log(data.Intime); console.log(data.ParkTime); console.log(data.Money); showResult(data); }) .catch(function (error) { console.error(error); }); } function showResult(data) { const resultDiv = document.getElementById("result"); resultDiv.textContent = "车牌:"+ data.TruckNo + "进场时间:"+ data.Intime+", 停车时长:" + data.ParkTime+", 产生金额:" + data.Money; }哪里有问题
代码中存在一个问题,axios request 的 URL 是 "http://10.198.8.102:8081/TruckParkTime",但是请求的方法是 GET,根据 HTTP 规范,GET 请求的参数应该以 query string 的形式添加到 URL 后面,而不是以 JSON 对象的形式添加到 params 属性中。因此,应该将 params 属性中的内容以 query string 的形式添加到 URL 后面,例如:
```javascript
const plateNumber = document.getElementById("plateNumber").value;
const queryString = `Token=Parking20230103163153666&TruckNo=${plateNumber}`;
const url = `http://10.198.8.102:8081/TruckParkTime?${queryString}`;
const options = {
method: "GET",
url: url,
headers: { "content-type": "application/json" },
};
```
这样修改之后,就可以正确地发送 GET 请求,获取到相应的数据了。
oninput(e){ var that=this that.data.identity=e.detail.value wx.request({ url: app.globalData.api +'/Student_GetInfoByIdCard', data:{ token:app.globalData.token, identity:that.data.identity }, method: 'POST', header: { 'content-type': 'application/json' }, success(res){ var r = JSON.parse(res.data.d) // console.log(r.JsonStr.data1) var data=r.JsonStr.data1 console.log(data) if(that.data.identity.length===18){ that.setData({ nation: data.nation, //民族 teacherphone: data.teacherphone, //指导老师手机号 teacher: data.teacher,//指导老师 name: data.name,//姓名 phone: data.phone,//手机号 gender:data.gender,//性别 nationality:data.nationality,//国籍 birthday:data.birthday_shorter,//生日 pinyinlist:data.pinyin//拼音 }) } } }) // console.log(e.detail.value) },如果身份证号长度不满18 所有信息都不显示代码
如果您想让所有信息都不管身份证号码长度的情况下都能够显示,可以将代码中的 `if(that.data.identity.length===18)` 这行代码修改为 `if(data !== null)`,这样无论身份证号码长度是多少,只要返回的 `data` 不为空,就会更新页面显示。
修改后的代码如下:
```
oninput(e) {
var that = this;
that.data.identity = e.detail.value;
wx.request({
url: app.globalData.api + '/Student_GetInfoByIdCard',
data: {
token: app.globalData.token,
identity: that.data.identity
},
method: 'POST',
header: {
'content-type': 'application/json'
},
success(res) {
var r = JSON.parse(res.data.d);
var data = r.JsonStr.data1;
console.log(data);
if (data !== null) {
that.setData({
nation: data.nation, //民族
teacherphone: data.teacherphone, //指导老师手机号
teacher: data.teacher, //指导老师
name: data.name, //姓名
phone: data.phone, //手机号
gender: data.gender, //性别
nationality: data.nationality, //国籍
birthday: data.birthday_shorter, //生日
pinyinlist: data.pinyin //拼音
});
}
}
});
}
```
阅读全文