試圖從角度做一些基本的REST服務,但我所得到的只是一個空的錯誤響應。角js空錯誤響應
我直接打開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應用程序。我懷疑是這個問題,但是當我直接在瀏覽器中輸入REST url時,它工作正常。
我在這裏錯過了什麼?
有沒有更好的工具可以用來幫助調試呢?
注:
是的,這是一個非常不安全的方式做認證,但我的出發點。
好,我嘗試使用一個Web服務器(默認的Python的Web服務器)的東西,並使用Firefox的更新版本。這個問題的確與跨站點腳本有關。由於我可以控制端口7777上的服務器,因此我可以添加適當的標題以允許CORS。但谷歌搜索給出了很多衝突的信息...我需要添加什麼標題(S)? – Jon 2014-11-26 19:15:55
你究竟想要達到什麼目的?和你得到什麼錯誤? – Strife86 2014-11-27 14:45:04
順便說一下你是否在你的請求中加入'withCredectials'選項設置爲true?幫助您瞭解旅遊問題,我認爲這對您的問題有用http://www.html5rocks.com/en/tutorials/cors/ – Strife86 2014-11-27 14:49:24