NativeScript-Angular-POST表单数据到Wordpress ContactForm7 API

问题描述 投票:0回答:1

大家好,在此先感谢...我正在尝试使用Contact Form7 API从Angular NativeScript应用程序中填写和提交表单。我尝试了不同的解决方案,但始终得到相同的错误响应。

{"into":"#","status":"validation_failed","message":"Oops, there seems to be some error in the fields. Check and try again, please.","invalidFields":[{"into":"span.wpcf7-form-control-wrap.nome","message":"Attention, this field is required!","idref":null},{"into":"span.wpcf7-form-control-wrap.mail","message":"Attention, this field is required!","idref":null}]}

在示例中,为了方便起见,我在体内输入了静态值帮我 ;(尝试1

onTappedInvia(): void {

        fetch("http://www.example.com/wp-json/contact-form-7/v1/contact-forms/{id}/feedback", {
            method: "POST",
            headers: { "Content-Type": "multipart/form-data" },
            body: JSON.stringify({
                nome: "Test API",
                mail: "[email protected]"
            })
        }).then((r) => r.json())
            .then((response) => {
                const result = response.json;
                console.log(response);
            }).catch((e) => {
                console.log(e);
            });

     }

尝试2

deliverForm() {



        var formData: any = new FormData();
        formData.append('nome', "Test API");
        formData.append('email', "[email protected]");
        formData.append('your-message', "Test API");


        this.submitted=true;
        console.log(formData);
        this.formService.create(formData)

          .subscribe(
            data => {
                console.log('Invoice successfully uploaded');
                console.log('Error'+ JSON.stringify(data));

            },
            error => {
                console.log('Error'+ JSON.stringify(error));
            });
            console.log('USCITO');
      }

和formService


const HttpUploadOptions = {
  headers: new HttpHeaders({ "Content-Type": "multipart/form-data;" })
}

@Injectable({
  providedIn: 'root'
})
export class FormService {

  constructor(
    private HttpClient: HttpClient
  ) { }
  create(formData){
    return this.HttpClient.post('http://www.example.com/wp-json/contact-form-7/v1/contact-forms/{id}/feedback', formData, HttpUploadOptions)
  }
}
post contact-form-7 angular2-nativescript
1个回答
0
投票

问题出在内容类型上。我尝试使用application / x-www-form-urlencoded,它有效!

fetch("http:www.aficfestival.it/wp-json/contact-form-7/v1/contact-forms/5173/feedback?", {
         method: "POST",
         headers: { "Content-Type": "application/x-www-form-urlencoded" },
         body: form
     }).then((r) => r.json())
         .then((response) => {
             const result = response.json;
             console.log(response);
         }).catch((e) => {
             console.log(e);
         });

 }
© www.soinside.com 2019 - 2024. All rights reserved.