12

AngularJS には、次の関数があり、正常に機能しました。

$http.get( "fruits.json" ).success( $scope.handleLoaded );

これをファイルからURLに変更したいと思います(甘いLaravel 4を使用してjsonを返します):

$http.get( "http://localhost/fruitapp/fruits").success( $scope.handleLoaded );

私が得るエラーは次のとおりです。

"NetworkError: 405 Method Not Allowed - http://localhost/fruitapp/fruits"

どうしたの?fruit.json が「ローカル」で、localhost がそうではないためですか?

4

4 に答える 4

1

使用しているAngular jsのバージョンは<= 1.2.9です。

はいの場合、これを試してください。

return $http({                
    url: 'http://localhost/fruitapp/fruits',
    method: "GET",
    headers: {
        'Content-Type': 'application/json', 
        'Accept': 'application/json' 
    }
});
于 2016-01-28T06:05:43.830 に答える
0

SpringBoot プロジェクトで同様の問題が発生しました。ブラウザー コンソールで同じエラーが発生していましたが、バックエンド ログを見ると別のエラー メッセージが表示されていました。「org.springframework.web. HttpRequestMethodNotSupportedException、メッセージ = リクエスト メソッド 'DELETE' はサポートされていません」 バックエンド コントローラーに {id} パラメーターがないことが判明しました:

** Wrong code :** 
@RequestMapping(value="books",method=RequestMethod.DELETE)
	public Book delete(@PathVariable long id){
	Book deletedBook = bookRepository.findOne(id);
	bookRepository.delete(id);
	return deletedBook;
}

** Correct code :** 

@RequestMapping(value="books/{id}",method=RequestMethod.DELETE)
	public Book delete(@PathVariable long id){
		Book deletedBook = bookRepository.findOne(id);
		bookRepository.delete(id);
		return deletedBook;
}

于 2016-05-04T00:19:38.613 に答える