Failed to execute 'setRequestHeader' on 'XMLHttpRequest' [...] is not a valid HTTP header field value
Solution 1
Are you sending your 'text' in headers on purpose? This is in general not a place for doing this. For sending content through POST(or GET) you should use 'data' field. So:
$http({
url : "/Something/rest/...",
method : "POST",
data: {
...
'text' : text
}
});
,and on the server side similar change for getting your data from POST. You don't need and shouldn't mess with headers unless you know what you are doing.
Solution 2
I had faced this problem. Please make sure that in your code header name doesn't contain space. i.e. 'designId ' is invalid, as it contain space at end
Marius Manastireanu
Updated on October 17, 2020Comments
-
Marius Manastireanu over 3 years
I am developing an application with AngularJS (client side) and Java (server side) using RESTful services (with Jersey).
In the client I have something like this
$http({ url : "/Something/rest/...", method : "POST", headers : { ... 'text' : text } });
on the server side my Java method header looks like this
public JSONObject myMethod(@HeaderParam("text") String text [...]) throws JSONException
And I'm getting this error when trying to send a request
Error: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Some text here formatted with \n and \t' is not a valid HTTP header field value.
Is this because of the formatting? Is it because the text is quite long?
What should I change? Please guide me