使用Chrome开发工具调试发布请求

时间:2013-11-08 14:17:41

标签: javascript angularjs google-chrome-devtools

我正在尝试使用Chrome Dev来调试以下Angular帖子请求:

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

在右键单击/ evaluate运行语句后,我可以看到网络面板中的帖子处于暂挂状态。如何获取结果或“提交”请求并从开发控制台轻松地保留此“挂起”状态?

我还不熟悉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)})})

返回:undefined

修改

返回的错误消息是: JBoss Web / 2.1.3.GA - Rapport d'erreur

Etat HTTP 400 -

type Rapport d'�tat

< p> 消息

描述Larequ�teenvoy�eparleclient�taitlangumentiquementincorrecte()。

JBoss Web / 2.1.3.GA

EDIT 我试图解决的帖子生成HTTP 400.结果如下:

  • 请求网址:http://picjboss.puma.lan:8880/fluxpousse/api/flow/createOrUpdateHeader 请求方法:POST 状态代码:400 Mauvaise Requ?te 请求Headersview源 接受:application / json,text / plain, / 接受编码:gzip,放气,SDCH 接受语言:FR-FR,FR; Q = 0.8,EN-US; Q = 0.6,连接; Q = 0.4 连接:保持活跃 内容长度:5354 内容类型:应用/ JSON;字符集= UTF-8 饼干:JSESSIONID = 285AF523EA18C0D7F9D581CDB2286C56 主持人:picjboss.puma.lan:8880 起源:http://picjboss.puma.lan:8880 引用者:http://picjboss.puma.lan:8880/fluxpousse/ User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 30.0.1599.101 Safari / 537.36 X-要求 - 由于:XMLHttpRequest的 请求Payloadview源 {refHeader:IDSFP,idEntrepot:619,codeEntreprise:null,codeBanniere:null,codeArticle:7,...} 割让价格: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:“蛋黄酱de DIJON” labelFournisseur:null listDetail:[,...] pcbArticle:12 pvc:78 qte:78 refCommande:“ref” refHeader:“IDSFP” 州:“创建” stockArticle:1200 updateDate:null 响应标题来源 连接:关闭 内容长度:996 内容类型:文本/ HTML;字符集= utf-8的 日期:2013年11月8日星期五15:19:30格林尼治标准时间 服务器:Apache-狼/ 1.1 X-Powered-By:Servlet 2.5; JBoss的5.0 / JBossWeb-2.1

1 个答案:

答案 0 :(得分: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可用(例如在chrome devtools中使用Angular 1.2.6),您可以使用:

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