POST上Angular和Django之间的连接

时间:2019-04-10 13:48:23

标签: json django angular http httpclient

当我从Angular向Django执行PUT或PATCH请求时,我收到200代码响应。但实际上数据库中没有任何变化。

API是使用DRF的Django REST API。 当我向邮递员提出任何要求时,一切正常。

但是当我尝试在Angular中执行请求时,API响应包含200个代码,但是数据库中没有任何变化。 在Angular上具有相同参数的相同请求

 let headers = new HttpHeaders(
            {
                'Authorization': 'Token ' + this._userService.getToken(),
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        ); 
return this._http.patch( this.urlAPI, json , {headers: headers} );
//json is the object that I would to modify

然后我尝试调试当我在Angular和Postman中发送数据时Django接收的对象如何,这是区别。 可能是主要错误,但我不知道如何发送数据。如果我尝试将Content-Type更改为JSON,则会收到“ 400错误请求”响应。

邮递员输出:

<QueryDict: {'address': ['Some Address']} >

和Angular输出:

<QueryDict: {'{"address":"Some Address"}': ['']} >

所以我真的迷路了。

更新 为此,我做了一个不好的解决方案:

let body = new HttpParams()
            .set('name', client.name)
            //.set(... whatever);
return this._http.patch( this.urlAPI, body , {headers: headers} );

,效果很好。 但是我需要使演员表自动化

0 个答案:

没有答案