我一直在尝试使用Ajax从名为Adonisjs的mvc框架获取某个元素的请求。问题是我要么获得整个标头+正文作为请求,要么获得对象元素。
我一直在浏览文档,但是它对我的帮助不足以克服这个问题。
我不能仅从元素键uniqueKey接收数据正文。
我的Ajax呼叫:
var request = $.ajax({
url: '/user/autologin',
type: 'post',
data: {
uniqueKey: id
},
headers: {
'x-csrf-token': $('[name=_csrf]').val()
},
dataType: 'json'
});
request.done(function(msg) {
console.log(msg);
});
request.fail(function(jqXHR, textStatus) {
console.log(textStatus, jqXHR);
});
});
我的后端控制器:
async autologin({
request,
response,
auth
}) {
try {
await auth.check()
} catch (error) {
if (auth.user) return
const uniqueKey = request.all()
console.log(error)
const existingUser = await User.findBy('unique_key', uniqueKey)
if (existingUser === null) {
const newUser = new User()
newUser.unique_key = uniqueKey
console.log('new user')
await newUser.save()
// return await auth.generate(newUser) //jwt
await auth.login(newUser)
} else {
console.log('registered user')
// return await auth.generate(existingUser) //jwt
await auth.login(existingUser)
}
// return response.send(uniqueKey)
}
}
我运行的其他失败的测试:
const uniqueKey = request.raw()
const uniqueKey = only(['uniqueKey'])
通过发送的数据是一个字符串。