我正在使用RESTful服务(使用Jersey)使用AngularJS(客户端)和Java(服务器端)开发应用程序。
在客户端我有类似的东西
$http({
url : "/Something/rest/...",
method : "POST",
headers : {
...
'text' : text
}
});
在服务器端,我的Java方法标题如下所示
public JSONObject myMethod(@HeaderParam("text") String text [...]) throws JSONException
我在尝试发送请求时遇到此错误
Error: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Some text here formatted with \n and \t' is not a valid HTTP header field value.
这是因为格式化吗?是因为文字很长吗?
我应该改变什么?请指导我
答案 0 :(得分:2)
您是否故意在标题中发送“文字”?这通常不是这样做的地方。 要通过POST(或GET)发送内容,您应该使用“数据”字段。 所以:
$http({
url : "/Something/rest/...",
method : "POST",
data: {
...
'text' : text
}
});
,在服务器端进行类似的更改,以便从POST获取数据。 除非你知道自己在做什么,否则你不需要也不应该乱用标题。
答案 1 :(得分:1)
我遇到了这个问题。请确保您的代码标题名称中不包含空格。即'designId'无效,因为它的末尾包含空格