我无法弄清楚:-(我的客户正在做ajax httppost,我需要发送以下内容:

  private doSaveQuery(queryName: string): void {

    const info = {};
    info['userName'] = 'admin';
    info['userQueryName'] = queryName;
    ...


字符串化后,将其转换为:

{"userName":"admin",
 "userQueryName":{"queryName":"MyName"}
}


为什么使用我的变量名“ queryName”并将其作为键添加到我的值?

我该怎么办?

{"userName":"admin",
  "userQueryName":"MyName"
}


我知道这很简单,所以请原谅我的无知:-)

谢谢!

最佳答案

在编码对象时,看起来queryName实际上是看起来像{queryName: 'MyName'}的对象。

要解决此问题,您应确保queryName只是字符串MyName

info['userQueryName'] = 'MyName'


用词来说,queryName不是您想的那样。

当前实现的示例:



const queryName = {queryName: "MyName"}
const info = {
  userName: "admin",
  userQueryName: queryName
}
console.log(JSON.stringify(info))





您应该将queryName更改为仅字符串:



const queryName = "MyName"
const info = {
  userName: "admin",
  userQueryName: queryName
}
console.log(JSON.stringify(info))





如果不能这样做,则可以从该属性构建信息:



const queryName = {queryName: "MyName"}
const info = {
  userName: "admin",
  userQueryName: queryName.queryName
}
console.log(JSON.stringify(info))

08-25 13:08