为了账号安全,请及时绑定邮箱和手机立即绑定

通过 URL 传递参数将其显示为 [object object] 而不是字符串(打字稿)

通过 URL 传递参数将其显示为 [object object] 而不是字符串(打字稿)

幕布斯7119047 2023-06-09 15:32:12
嗨,我正在尝试将一些字符串参数传递到我的网址,以便我可以从 API 获取信息。这工作正常,当在警报中显示时,会完全按照应有的方式显示 url(不包含 [object, object])。var startDate = "2020-09-20" ;var endDate = "2020-11-20";var apiUrl = 'https://thisismyurls7F174D955BF8&dateFrom='+{startDate}+' &dateTo='+{endDate}+'T18%3A56%3A58.930Z&showAllFutureItinerary=true'但是,当我这样做时。CustomSearch(startDate: string,endDate: string)  {   var Url = 'https://localhost:44381/api/internal/itinerary/all?userId=996D7BD5-C625-5C7E-6A02- 7F174D955BF8&dateFrom='+{startDate}+'T18%3A56%3A58.930Z&dateTo='+ {endDate}+'T18%3A56%3A58.930Z&showAllFutureItinerary=true'.toString();}它无法访问 API,并且当 console.logged/alerted 显示变量都是 [object object] 时。这些是从另一个组件的 onsubmit 函数传递的,如下所示。model = {  startDate: String,  endDate: String,  search: String}constructor(private itineraryService: ItineraryService) {}onSubmit() {    // var a = JSON.stringify(this.model)    if (this.model.endDate != undefined && this.model.startDate != undefined) {      this.items = this.itineraryService.CustomSearch(this.model.startDate.toString(), this.model.endDate.toString())    }我基本上只需要将它们都作为字符串而不是将它们显示为 [object object]
查看完整描述

1 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

您没有正确使用模板文字。使用速记属性名称{ startDate }创建对象文字。当您将对象与字符串连接时,它会调用对象上的方法并变为toString[object, Object]


const start = 'abc',

      obj = { start }


console.log(obj)


console.log(

  'some string' + { start }

)


  • 模板文字应该用反引号包裹,而不是引号

  • 表达式应该${ expression }$

将其更改为:

var apiUrl = `https://thisismyurls7F174D955BF8&dateFrom=${startDate}&dateTo=${endDate}T18%3A56%3A58.930Z&showAllFutureItinerary=true`






查看完整回答
反对 回复 2023-06-09
  • 1 回答
  • 0 关注
  • 304 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信