角不加入正確的內容類型選項發送,我嘗試下面的命令:
$http({
url: "http://localhost:8080/example/teste",
dataType: "json",
method: "POST",
headers: {
"Content-Type": "application/json"
}
}).success(function(response){
$scope.response = response;
}).error(function(error){
$scope.error = error;
});
上面的代碼生成以下http請求:
POST http://localhost:8080/example/teste HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 0
Cache-Control: no-cache
Pragma: no-cache
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Content-Type: application/xml
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
Referer: http://localhost:8080/example/index
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: JSESSIONID=C404CE2DA653136971DD1A3C3EB3725B
正如你所看到的,而不是「application/json」,內容類型是「application/xml」。我在這裏錯過了什麼嗎?
但如果我要發送的對象數據是什麼?我正在使用ASP.NET通用HTTP處理程序,出於某種原因,'context.Request.Params [「formData」]'不起作用,但是一個StackOverflow文章引導我使用'string json = new StreamReader(context。 Request.InputStream).ReadToEnd();'這是可行的,但我不完全放心使用它,因爲我寧願按名稱訪問提交的請求參數值。 – 2015-04-13 04:23:03
上帝這是一個救星!這是默認的HTTP協議行爲還是Angular $ http行爲? – jchnxu 2015-08-16 09:24:50
對於任何使用[Restangular](https://github.com/mgonto/restangular)的人,以下是如何實施此解決方案的示例:https://gist.github.com/sscovil/3bd0da1d98397213df54 – 2015-09-11 14:23:17