2015-11-30 4 views
0

У меня есть форма, которая должна получать данные POST на сервер, который находится в той же сети. При отправке этих данных на сервер возвращается ERR_EMPTY_RESPONSE.

Я также пробовал размещать на том же url, используя POSTMAN и таким образом, кажется, работает.

Является ли такое же происхождение политикой, вызывающим это? Есть ли решение обходить эту политику?

Примечание: Невозможно изменить что-либо на стороне сервера, только на стороне клиента

Вот завод, который я использую для отправки данных:

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); 

      }); 
     } 
     } 
    }]); 

и это то, что Я получаю вход в раковине после размещения:

ВАРИАНТЫ http://192.168.5.2:9000/?absolute=1234&info1 $ динам = 1 & info2 = 1 & info3 = не определено & info4 = не определено & info5 = не определено & fixed_info = не определено & aux_info = не определено нетто :: ERR_EMPTY_RESPONSE

+0

же сети? Это тот же домен? – Arg0n

+0

Механизмы POST Angular немного отличаются от других javascript. Я не помню специфику, но я знаю, что для любого из моих угловых проектов я должен использовать 'file_get_contents ('php: // input')' вместо $ _POST. Поэтому попробуйте что-то вроде '$ POST = json_decode (file_get_contents ('php: // input'), true);' –

+0

Вы используете [** строки запроса **] (https://en.wikipedia.org/wiki/ Query_string) для ** POST ** данных? – charliebrownie

ответ

1

вы ве неправильный порядок аргумент

пост (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(...); 
+0

теперь это показано в консоли браузера: XMLHttpRequest не может загрузить http://192.168.5.2:9000/. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Происхождение 'http: // localhost', следовательно, не допускается. – changez

+1

@changez Это было то, о чем я просил в своем комментарии. «Это тот же домен?» Я думаю, что ответ отрицательный. – Arg0n

+0

Да, такая же ошибка происхождения (если вы не можете получить доступ к серверной стороне), возможно, будет превышено ....решение должно быть JSONP, но в любом случае сервер будет поддерживать его. – Vanojx1

Смежные вопросы