从 Cordova advanced-http post 作为 json 发出的数据未被 Laravel 后端正确接收
Data sent out from Cordova advanced-http post as json is not received by Laravel backend properly
我正在尝试从我的 Ionic/Cordova/Angular 前端
向我的 Laravel 后端发送一些数据
import { HTTP } from '@ionic-native/http/ngx';
...
constructor(private http: HTTP){
}
public postMyData(){
return new Promise((resolve, reject) => {
let data = { 'name': 'My name', 'age' : '42'}
let url = this.baseURL + '/api/profile';
let headers = {
"Authorization": "Bearer " + access_token,
'Content-Type': 'application/x-www-form-urlencoded'
}
this.http.setDataSerializer('json');
this.http.post(url, profile, headers).then(data => {
resolve(data.data);
}).catch(error => {
reject(error);
});
}
}
我在 Laravel 端点收到的 $request 是
{"{\"姓名\":\"我的名字\",\"年龄\":\"42\"}":空}
知道为什么附加了粗体数据吗?谁做了这个改动?
Postman发出的请求完美无缺,完全没有被转义!
我发布后不久,我找到了解决方案:
我不得不更改序列化
this.http.setDataSerializer('json');
至
this.http.setDataSerializer('urlencoded');
我的 json 数据分散了我的注意力,所以我忽略了这个。
我正在尝试从我的 Ionic/Cordova/Angular 前端
向我的 Laravel 后端发送一些数据import { HTTP } from '@ionic-native/http/ngx';
...
constructor(private http: HTTP){
}
public postMyData(){
return new Promise((resolve, reject) => {
let data = { 'name': 'My name', 'age' : '42'}
let url = this.baseURL + '/api/profile';
let headers = {
"Authorization": "Bearer " + access_token,
'Content-Type': 'application/x-www-form-urlencoded'
}
this.http.setDataSerializer('json');
this.http.post(url, profile, headers).then(data => {
resolve(data.data);
}).catch(error => {
reject(error);
});
}
}
我在 Laravel 端点收到的 $request 是
{"{\"姓名\":\"我的名字\",\"年龄\":\"42\"}":空}
知道为什么附加了粗体数据吗?谁做了这个改动?
Postman发出的请求完美无缺,完全没有被转义!
我发布后不久,我找到了解决方案:
我不得不更改序列化
this.http.setDataSerializer('json');
至
this.http.setDataSerializer('urlencoded');
我的 json 数据分散了我的注意力,所以我忽略了这个。