【问题标题】:Angular ajax POST request not working - gives 404 errorAngular ajax POST 请求不起作用 - 给出 404 错误
【发布时间】:2017-04-15 07:17:34
【问题描述】:

请帮忙。我无法在服务器端控制器上受到任何影响。每次在浏览器上看到“404-未找到”错误。我想将发布数据传递到服务器端,并想从服务器返回任何其他字符串。以下是我的代码 sn-ps:-

web.xml servlet 映射:-

<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");
            })

【问题讨论】:

  • 请不要使用angular 标记AngularJS 问题。 angular 适用于 Angular 版本 2 及更高版本。谢谢
  • 在我看来这个问题与 Angular 完全无关,因为它是服务器错误。您是否尝试过直接从浏览器触发http://192.168.1.103:8081/ProjectName/registration.html(例如使用 Postman)?
  • 是的,我试过了,但它只适用于 GET 请求而不是 POST。如果我在控制器方法中将方法的类型更改为 GET,它可以工作,但我不希望这样,我希望方法只是 POST,因为我必须发送更多数据

标签: java angularjs ajax spring-mvc


【解决方案1】:

试试这个:

  1. 将value = "/registration" 更改为,例如value = "/user-registration",以避免与其他链接发生冲突
  2. 将http://192.168.1.103:8081/ProjectName/registration.html 更改为http://192.168.1.103:8081/ProjectName/registration-user,因为.html 后缀可能会混淆Spring。
  3. 它将起作用,在 Spring 中将 registration-user 更改回 registration,并将 $http URL 更改为 http://192.168.1.103:8081/ProjectName/registration(不带 .html 后缀)。我不认为您可以通过这种方式在web.xml 中映射 AJAX 请求

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-05
    • 2013-02-15
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    相关资源
    最近更新 更多