Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Axios未正确分析typescript对象_Json_Typescript_Axios - Fatal编程技术网

Json Axios未正确分析typescript对象

Json Axios未正确分析typescript对象,json,typescript,axios,Json,Typescript,Axios,我有一个用户的typescript对象,其中包含一个id:number。这个id在axios内部被解析为字符串,这是错误的,我的服务器不接受,所以我想解决这个问题 我的axios呼叫如下所示: axios.post(${url},用户,{withCredentials:true}),用户对象如下所示: export default class User { Id: number; Username: string; Password: string; con

我有一个用户的typescript对象,其中包含一个
id:number
。这个id在axios内部被解析为字符串,这是错误的,我的服务器不接受,所以我想解决这个问题

我的axios呼叫如下所示:
axios.post(
${url}
,用户,{withCredentials:true}),用户对象如下所示:

export default class User {
    Id: number;

    Username: string;

    Password: string;

    constructor(Id: number, Username: string, Password: string) {
      this.Id = Id;
      this.Username = Username;
      this.Password = Password;
    }
}
解析的对象如下所示:
“{”Id:“1337”,“Username:“test”,“Password:“admin”}”

预期的对象如下所示:
“{”Id:1337,“Username”:“test”,“Password”:“admin”}”


我的想法是手动构建json并将其字符串化,但由于axios在内部再次使用了stringify,这并不像预期的那样有效。

问题与axios无关。我从
标记中获取了值,并将其直接放入我的Id属性中。这个值是一个字符串,我的id属性也是一个导致问题的字符串。将初始化值转换为number有效:
number(this.updateUserId)
并解决了我的问题


这里还进一步解释了这一点:

axios几乎肯定对此不负责。在哪里/如何填充对象上的
Id
属性?谢谢,我是本地开发人员,没想到typescript会允许我将字符串放入数字属性中。。。我将select html元素的值直接分配给我的id,实际上它是一个字符串。@T.J.Crowder同意你的看法。这里有点问题。TypeScript在运行时不存在,只在传输时存在-如果连接的是
“{\'Id\:\'1337\'}”
,则
Id
属性的值将是一个字符串。的重复(
value
始终是一个字符串)。