0
助けてください。私はサーバー側コントローラでヒットを得ることができません。ブラウザで毎回「404-Not Found」エラーが表示されます。私は、サーバー側に投稿データを渡したいし、サーバーから他の文字列を返すしたい。以下は私のコードスニペットは、次のとおりです。 -Angular ajax POSTリクエストが機能しない - 404エラーを返す
のweb.xmlサーブレットマッピング: -
<servlet-mapping>
<servlet-name>sdnext</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
MyController.java:-
import....;
@Controller
public class MyController {
@RequestMapping(value = "/registration", method = RequestMethod.POST)
@ResponseBody
public String methodStart(@RequestParam (value="UID",required=true) String json){
System.out.println("Data recieved is:-"+json);
return "hello";
}
}
クライアント側コード: -
var params=({
'UID': 'testdata'
});
$http({
method: 'POST',
url: 'http://192.168.1.103:8081/ProjectName/registration.html',
headers: { 'Content-Type': 'application/json' },
data:JSON.stringfy(params)
}).success(function(data){
console.log("Success Call");
})
.error(function(data, status) {
console.log("Error Block");
})
AngularJSの質問には「角度」を付けないでください。 'angular'はAngularバージョン2以降です。ありがとうございます –
私に見えるこの問題はAngularとはまったく関係がありません。サーバーエラーです。あなたのブラウザから 'http://192.168.1.103:8081/ProjectName/registration.html'を直接起動しようとしましたか? – yktoo
はい、試しましたが、POSTではなくGET要求の場合にのみ動作します。私がコントローラのメソッドでGETメソッドの型を変更した場合、それは機能しますが、私はそれを望んでいません。メソッドをPOSTにするには、より多くのデータを送信する必要があります –