【发布时间】:2019-11-16 11:30:32
【问题描述】:
我在使用 JQuery 将来自服务器的数据转换为 post 时遇到问题,因为从服务器接收到的数据是 [object Object] 的“类型”
注意:从服务器接收到的数据应该是 JSON
我尝试将来自服务器的响应直接转换为 JSON 出现错误,因此我尝试先将响应转换为字符串,然后再转换为 JSON,但这也失败了,代码如下:
// THE FOLLOWING CODE IS FROM A HTML PAGE
$('#login-form').submit(function(event){
event.preventDefault();
// Get some values from elements on the page:
let $form = $(this),
email = $form.find("input[name='email']").val(),
password = $form.find("input[name='password']").val(),
url = $form.attr('action');
// Send the data using post
let posting = $.post(url, {useremail: email, userpassword: password},
function(data, status, xhr){ // catch response from the server
let responseString = JSON.stringify(data); // convert response from [object Object] to String
let responseJSON = JSON.parse(responseString); // convert response string to JSON type
});
});
/// THE FOLLOWING CODE IS FROM THE SERVER SIDE
res.json({
status: 'some status',
message: 'some message'
});
预期的结果是数据被转换为 JSON 字典
【问题讨论】:
-
JSON.parse将 json 响应转换为 javascript 对象。 -
是但不是,正如我在问题中提到的那样,我已经尝试过但不起作用
-
服务器响应中缺少括号。请检查服务器是否返回格式正确的 json。
-
对不起,我在问题中解决了这个问题,代码有相关的括号
标签: javascript jquery node.js post