我正在嘗試使用$ http.post測試發佈數據到服務器。後端是用laravel構建的。
我剛剛學習Angular,所以沒有任何複雜的事情發生。當我嘗試發佈到/ api,並在瀏覽器控制檯中出現404錯誤時。如果我在瀏覽器中打開URl,它確實存在。該頁面本身只是返回一些JSON。
這裏的HTML:
<ul>
<li ng-repeat="brand in brands">
<input type="checkbox" name="{{brand.brand_name}}" ng-model="brand.checked" ng-change="getSelectedBrands()">
{{ brand.brand_name }}
</li>
</ul>
和控制器的負責公佈的數據部分:
$scope.getSelectedBrands = function() {
var data = $filter('filter')($scope.brands, {checked: true});
$http.post('/api', data).success(function(data, status, headers) {
//do something
});
}
爲什麼在每一個複選框,選中或取消選中職位是這些複選框將被過濾一旦我到達該階段,數據庫的結果。
任何幫助將不勝感激。
謝謝!
隨着網絡TAB結果編輯:
你能在devtools打開網絡選項卡,並告訴我們的要求嗎? –
您沒有分享您的服務器端代碼,但請閱讀http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/。或者我的博客文章介紹Coldfusion的類似問題:http://www.jeffryhouser.com/index.cfm/2013/10/1/Calling-a-ColdFusion-CFC-from-AngularJS我建議你使用包嗅探器來查看從您的用戶界面發送到服務器的內容。如果你和我有同樣的問題,那麼這是你的解決方案:'$ http.defaults.headers.post ['Content-Type'] ='application/x-www-form-urlencoded; charset = UTF-8';' – JeffryHouser
@IlanFrumer在網絡標籤中添加了一個屏幕截圖來解決我的問題。謝謝 – BarryWalsh