问题
quick question. I have an AngularJS front end communicating with a Spring REST backend . URL encoding is only necessary for encoding parameters passed in the url (for application/x-www-form-urlencoded). I don't have to worry about the encoding in the body, correct ?
回答1:
For content type of application/x-www-form-urlencoded
the body of a post message needs to be uri encoded:
$http({
url: myUrl,
method: 'POST',
data: $httpParamSerializerJQLike(myData),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
OR alternately:
var config = {
transformRequest: $httpParamSerializer,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
$http.post(myUrl, myData, config);
For more information, see:
- AngularJS $httpParamSerializer Service API Reference
- AngularJS $httpParamSerializerJQLike Service API Reference
来源:https://stackoverflow.com/questions/40963265/url-encoding-in-angularjs-front-end-with-spring-rest-backend