Aurelia aurelia-fetch-client 和 JSON POST
Aurelia aurelia-fetch-client and with JSON POST
我有以下运行良好的代码:
import {inject} from 'aurelia-framework';
import {HttpClient, json} from 'aurelia-fetch-client';
@inject(HttpClient)
export class Items {
heading = 'Items';
apiKey = "";
constructor(http) {
http.configure(config => {
config
.useStandardConfiguration()
.withBaseUrl('https://testme.com/api/')
.withDefaults({
headers: {
'content-type': 'application/json',
'Accept': 'application/json',
'X-Requested-With': 'Fetch'
}
})
});
this.http = http;
}
attach() {
let auth = {
Username:"admin",
Password:"1234"
};
return this.http.fetch('auth', {
method: 'post',
body: JSON.stringify(auth),
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(response => {
this.apiKey = response.APIKey;
console.log(response);
});
但是,如果用 json(auth)
替换 body: JSON.stringify(auth)
行,我认为这是使用 Aurelia JSON 助手 JSON 序列化对象的正确方法,我的 API 抛出一个错误的请求。
助手与 JSON.stringify 有什么不同吗?
json
函数调用 JSON.stringify,但也将 Content-Type: application/json
添加到 header。我想知道为您抛出的错误是否可能是由于 header 已经存在,因为您明确添加了它。
再次尝试使用 json
,但这次删除修改 header 的代码以添加 Content-Type。
有关 json 函数的代码,请参阅 here。
我有以下运行良好的代码:
import {inject} from 'aurelia-framework';
import {HttpClient, json} from 'aurelia-fetch-client';
@inject(HttpClient)
export class Items {
heading = 'Items';
apiKey = "";
constructor(http) {
http.configure(config => {
config
.useStandardConfiguration()
.withBaseUrl('https://testme.com/api/')
.withDefaults({
headers: {
'content-type': 'application/json',
'Accept': 'application/json',
'X-Requested-With': 'Fetch'
}
})
});
this.http = http;
}
attach() {
let auth = {
Username:"admin",
Password:"1234"
};
return this.http.fetch('auth', {
method: 'post',
body: JSON.stringify(auth),
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(response => {
this.apiKey = response.APIKey;
console.log(response);
});
但是,如果用 json(auth)
替换 body: JSON.stringify(auth)
行,我认为这是使用 Aurelia JSON 助手 JSON 序列化对象的正确方法,我的 API 抛出一个错误的请求。
助手与 JSON.stringify 有什么不同吗?
json
函数调用 JSON.stringify,但也将 Content-Type: application/json
添加到 header。我想知道为您抛出的错误是否可能是由于 header 已经存在,因为您明确添加了它。
再次尝试使用 json
,但这次删除修改 header 的代码以添加 Content-Type。
有关 json 函数的代码,请参阅 here。