AngularJS $http.post(): returns ERR_EMPTY_RESPONSE
AngularJS $http.post(): returns ERR_EMPTY_RESPONSE
我有一个表单需要 POST 数据到位于同一网络中的服务器。 post将此数据发送到服务器时,它 returns ERR_EMPTY_RESPONSE
。
我也尝试使用 POSTMAN posting 到相同的 url
并且这种方式似乎有效。
是同源政策造成的吗?有什么解决方案可以绕过该政策吗?
注意:服务器端不能改,只能客户端改
这是我用来 post 数据的工厂:
app.factory("SendForm", ["$http", "CONFIG", function($http, CONFIG) {
return {
sendInfo: function(dynamic, user1, user2, user3, user4, user5, fixed, aux, onSuccess, onError, onFinally) {
var url = CONFIG.urlSendForm + "?absolute=" + CONFIG.absolute + "&info" + dynamic + "$dyn=" + user1 + "&info2=" + user2 + "&info3=" + user3 + "&info4=" + user4 + "&info5=" + user5 + "&fixed=" + fixed + "&aux=" + aux;
$http.post(url, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.success(function(response, data) {
console.log("success " + response + data + status);
onSuccess();
}).error(function(response, data, status, headers, config) {
onError(response);
});
}
}
}]);
这就是我在 posting:
之后登录 shell 的内容
OPTIONS http://192.168.5.2:9000/?absolute=1234&info1$dyn=1&info2=1&info3=undefined&info4=undefined&info5=undefined&fixed_info=undefined&aux_info=undefined
net::ERR_EMPTY_RESPONSE
你的参数顺序不对
post(url, data, [config]); DOC HERE
改为
var data = {
dynamic: dynamic,
user1: user1,
user2: user2,
.....
.....
}
var config = {
headers: { 'Content-Type': 'application/x-www-form-urlencoded'}
}
$http.post(CONFIG.urlSendForm, data , config).success(...).error(...);
我有一个表单需要 POST 数据到位于同一网络中的服务器。 post将此数据发送到服务器时,它 returns ERR_EMPTY_RESPONSE
。
我也尝试使用 POSTMAN posting 到相同的 url
并且这种方式似乎有效。
是同源政策造成的吗?有什么解决方案可以绕过该政策吗?
注意:服务器端不能改,只能客户端改
这是我用来 post 数据的工厂:
app.factory("SendForm", ["$http", "CONFIG", function($http, CONFIG) {
return {
sendInfo: function(dynamic, user1, user2, user3, user4, user5, fixed, aux, onSuccess, onError, onFinally) {
var url = CONFIG.urlSendForm + "?absolute=" + CONFIG.absolute + "&info" + dynamic + "$dyn=" + user1 + "&info2=" + user2 + "&info3=" + user3 + "&info4=" + user4 + "&info5=" + user5 + "&fixed=" + fixed + "&aux=" + aux;
$http.post(url, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.success(function(response, data) {
console.log("success " + response + data + status);
onSuccess();
}).error(function(response, data, status, headers, config) {
onError(response);
});
}
}
}]);
这就是我在 posting:
之后登录 shell 的内容OPTIONS http://192.168.5.2:9000/?absolute=1234&info1$dyn=1&info2=1&info3=undefined&info4=undefined&info5=undefined&fixed_info=undefined&aux_info=undefined net::ERR_EMPTY_RESPONSE
你的参数顺序不对
post(url, data, [config]); DOC HERE
改为
var data = {
dynamic: dynamic,
user1: user1,
user2: user2,
.....
.....
}
var config = {
headers: { 'Content-Type': 'application/x-www-form-urlencoded'}
}
$http.post(CONFIG.urlSendForm, data , config).success(...).error(...);