Angularjs 角度js空错误响应

Angularjs 角度js空错误响应,angularjs,rest,Angularjs,Rest,尝试从angular执行一些基本的REST服务,但我得到的只是一个空的错误响应 我直接在电脑上打开index.html,不确定这是否是问题所在,然后单击“登录”,最终调用我的控制器: $scope.doLogin = function() { var pr = $http.get('http://localHost:7777/BuilderDBSvc/login', {params: {user: $scope.userid, pass: $scope.password} })

尝试从angular执行一些基本的REST服务,但我得到的只是一个空的错误响应

我直接在电脑上打开index.html,不确定这是否是问题所在,然后单击“登录”,最终调用我的控制器:

$scope.doLogin = function()
  {
   var pr = $http.get('http://localHost:7777/BuilderDBSvc/login', {params: {user: $scope.userid, pass: $scope.password} })
     .success(function(data)
      {
       console.log(data);
       domains = data;
      })
      .error(function(data, status, headers, config)
      {
       console.log(data)
       console.log(status)
       console.log(headers)
       console.log(config)
      });
   pr.then(function(data)
     {
      $scope.user = data.data;
     });
  };
使用firefox进行调试,我将断点放在所有3个函数中:success error和then。但只会触发“错误”。请求总是以红色显示,但响应代码为200。响应数据显示的大小为23字节,但该值始终为空

但是,如果我直接在浏览器窗口中键入URL和参数,它工作正常,并显示预期的json字符串

我以前使用过这种模式,但是nodejs和angularjs一起工作。但这次REST提供者是一个非java应用程序。我怀疑这就是问题所在,但当我直接在浏览器中输入RESTURL时,它工作正常

我错过了什么? 有没有更好的工具可以帮我调试?

注:
是的,这是一种非常不安全的身份验证方法,但这是我的出发点。

很可能是您的问题是从浏览器中打开index.html,因为请求不会来自localhost,并且localhost服务器会在chrome控制台中阻止跨源请求。您可能会看到这样一条消息

XMLHttpRequest无法加载'http://localhost:7777'. 请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“your index.html location”


为了避免您应该向http://localhost 到http://localhost 相同的服务器或告诉您的服务器接受跨源请求

我尝试在Web服务器上使用默认的python Web服务器,并使用更新版本的firefox。问题确实在于跨站点脚本。因为我可以控制端口7777上的服务器,所以我可以添加适当的头以允许CORS。但是谷歌搜索提供了很多相互矛盾的信息。。。我需要添加哪些标题?您到底想要实现什么?您会遇到什么错误?顺便问一下,您是否在请求中添加了设置为true的“withCredectials”选项???为了帮助你们理解旅游问题,我认为这对解决你们的问题很有用