3

I have common-class has commonUrl, this commonUrl i used in category.service.ts but it not concat in service.ts how to concat this commonUrl in angular 6?

common-class.ts

export class CommonClass {
  constructor(public commonUrl : string = 'http://localhost:3000'){};
}

category.service.ts

import { CommonClass } from '../classes/common-class';
commonUrlObj : CommonClass = new CommonClass();

saveNewCategory(formData){
  return this.http.post('this.commonUrlObj.commonUrl'+''+'/saveNewCategory',formData).map((res: any) => res.json());
}

getCategoryDetails(param){
  return this.http.post('this.commonUrlObj.commonUrl'+''+'getCategoryDetails',param).map((res: any) => res.json());
}
2
  • 2
    i think it should be return this.http.post(this.commonUrlObj.commonUrl +'/saveNewCategory' + formData).map((res: any) => res.json()); Commented Sep 25, 2018 at 8:52
  • 1
    Possible duplicate of JS strings "+" vs concat method Commented Sep 25, 2018 at 9:00

3 Answers 3

7

I'd advice you to use a string literal. Using `, resulting in `${this.commonUrlObj.commonUrl}/saveNewCategory`

Sign up to request clarification or add additional context in comments.

1 Comment

using the above template literal is the recommended way. If you use +, it will result in a code smell defect if you are running a tool like Sonar.
1

remove single quotes from 'this.commonUrlObj.commonUrl'

saveNewCategory(formData){
  return this.http.post(this.commonUrlObj.commonUrl+'/saveNewCategory',formData).map((res: any) => res.json());
}

Comments

0

Please remove the single quotes and it should work.

return this.http.post(this.commonUrlObj.commonUrl+'/saveNewCategory',formData).map((res: any) => res.json());

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.