Отстраняване на грешки в заявка за публикация с Chrome Dev Tools

Опитвам се да използвам Chrome Dev за отстраняване на грешки в следната заявка за публикация на Angular:

$http.post("http://picjboss.puma.lan:8880/fluxpousse/api/flow/createOrUpdateHeader", flowHeader)

След като изпълня оператора с десен бутон / оценка, мога да видя публикацията в мрежовия панел с чакащо състояние. Как мога да получа резултата или да „завържа“ заявката и да оставя лесно това „чакащо“ състояние от конзолата за разработка?

Все още не съм много запознат с JS обратните извиквания, очаква се някакъв код. Благодаря.

РЕДАКТИРАНЕ

Опитах се да стартирам от конзолата:

$scope.$apply(function(){$http.post("http://picjboss.puma.lan:8880/fluxpousse/api/flow/createOrUpdateHeader", flowHeader).success(function(data){console.log("error "+data)}).error(function(data){console.log("error "+data)})})

Връща: недефинирано

РЕДАКТИРАНЕ

The error message returned is : JBoss Web/2.1.3.GA - Rapport d'erreur

Etat HTTP 400 -

type Rapport d'�tat

съобщение

описание La requ�te envoy�e par le client �tait syntaxiquement incorrecte ().

JBoss Web/2.1.3.GA

РЕДАКТИРАНЕ Публикацията, която се опитвам да реша, генерира HTTP 400. Ето резултата:

  • URL адрес на заявка:http://picjboss.puma.lan:8880/fluxpousse/api/flow/createOrUpdateHeader Метод на заявка: POST Status Code:400 Mauvaise Requ?te Request Headersview source Accept:application/json, text/plain, / Accept-Encoding:gzip,deflate,sdch Accept -Език:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Връзка:keep-alive Content-Length:5354 Content-Type:application/json;charset=UTF-8 Cookie :JSESSIONID=285AF523EA18C0D7F9D581CDB2286C56 Хост:picjboss.puma.lan:8880 Произход:http://picjboss.puma.lan:8880 Референт:http://picjboss.puma.lan:8880/fluxpousse/ Потребител -Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, като Gecko) Chrome/30.0.1599.101 Safari/537.36 X-Requested-With:XMLHttpRequest Request Payloadview източник {refHeader:IDSFP, idEntrepot:619, codeEntreprise :null, codeBanniere:null, codeArticle:7,…} cessionPrice: 78 codeArticle: "7" codeBanniere: null codeDateAppro: null codeDateDelivery: null codeDatePrepa: null codeEntreprise: null codeFournisseur: null codeUtilisateur: null codeUtilisateurLastUpdate : null createDate: null dateAppro: null dateDelivery: null datePrepa: null hasAssortControl: null hasCadenceForce: null idEntrepot: 619 isFreeCost: null labelArticle: "Mayonnaise de DIJON" labelFournisseur: null listDetail: [,…] pcbArticle: 12 pvc: 78 qte: 7 8 refCommande: "ref" refHeader : "IDSFP" състояние: "СЪЗДАДЕНО" stockArticle: 1200 updateDate: null Response Headersview source Connection:close Content-Length:996 Content-Type:text/html;charset=utf-8 Date:Fri, 08 Nov 2013 15:19: 30 GMT Сървър: Apache-Coyote/1.1 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1

person benek    schedule 08.11.2013    source източник


Отговори (1)


Всяка $http заявка трябва да има обратно извикване за успех и грешка като това:

$http({method: 'POST', url: '/someUrl'}).
success(function(data, status, headers, config) {
  // this callback will be called asynchronously
  // when the response is available
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});

В тези методи можете да отстранявате грешки в Dev Tools.

И ако вашата заявка продължава да чака, може нещо да не е наред със сървъра.

Обърнете внимание, че ако нямате точки на прекъсване, които правят $http достъпен (например с помощта на Angular 1.2.6 в инструментите за разработка на chrome), можете да използвате:

angular.element(document).injector()
 .get('$http')({method: 'POST', url: '/someUrl'})
    .success(function(data, status, headers, config) {
       console.log('$http-success:',arguments);
       debugger;
    })
    .error(function(data, status, headers, config) {
       console.log('$http-error:',arguments);
       debugger;
    });
person Slaven Tomac    schedule 08.11.2013
comment
Имам успех/грешка в окончателния си код. Изискването ми се отнася само за конзолата. Ако се добави: .success(function(data, status, headers, config) {console.log(data)}).error(function(data, status, headers, config) {console.log(data)}), но се връща ми функция и заявката остава в очакване. Как мога да получа данни или съобщения за грешка? - person benek; 08.11.2013
comment
Ако вашата заявка остане чакаща, това означава, че все още не е получила отговор от сървъра (или заявката дори не е достигнала сървъра). Можете ли по някакъв начин да отстраните грешки от страна на сървъра? - person Slaven Tomac; 08.11.2013
comment
Когато стартирам кода си директно извън контекста на отстраняване на грешки, получавам грешка HTTP 400. Това се опитвам да поправя. От кода от страната на сървъра разработчиците не могат да разрешат проблема. Така че искам да променя заявката си по различни начини, за да я направя работеща. Но не може да получи обратното извикване с грешки. Това е моят въпрос. Благодаря. - person benek; 08.11.2013
comment
Заявката ми е в очакване точно след оценка на изявлението ми в chrome. Ако стартирам кода си напълно (без спиране), в определен момент (??) мога да видя 400 в мрежовия панел. - person benek; 08.11.2013
comment
1) Можете ли да публикувате сега как изглежда цялата ви заявка? 2) Какво ще стане, ако поставите точка на прекъсване в обратното извикване на грешка? - person Slaven Tomac; 08.11.2013
comment
Това може да означава, че вашата заявка е лошо конструирана и сървърът не може да я обработи: checkupdown.com/status/ E400.html... можете ли да зададете тип данни във вашата заявка (и тип съдържание също), може би сървърът ще може да се справи тогава...за това наистина трябва да има допълнителна информация от сървъра - person Slaven Tomac; 09.11.2013