Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想在表单提交中使用ajax..我得到了错误405——请求方法';邮政';不支持_Javascript_Jquery_Ajax_Jsp_Spring Mvc - Fatal编程技术网

Javascript 我想在表单提交中使用ajax..我得到了错误405——请求方法';邮政';不支持

Javascript 我想在表单提交中使用ajax..我得到了错误405——请求方法';邮政';不支持,javascript,jquery,ajax,jsp,spring-mvc,Javascript,Jquery,Ajax,Jsp,Spring Mvc,请让我知道我需要在下面的代码中做什么样的更改。 在这里,我将数据插入数据库,并让我了解合适的JQuery脚本。 没有下面.jsp中的ajax部分,它就可以正常工作。但是,当我在jsp中添加jQueryAjax部分时,它不起作用 这是我的控制器 @控制器 公共类EmployeeController{ @自动连线 恩普道道; @RequestMapping(value=“/index”,method=RequestMethod.GET) 公共模型和视图索引(){ 返回新的ModelAndView(“

请让我知道我需要在下面的代码中做什么样的更改。 在这里,我将数据插入数据库,并让我了解合适的JQuery脚本。 没有下面.jsp中的ajax部分,它就可以正常工作。但是,当我在jsp中添加jQueryAjax部分时,它不起作用
这是我的控制器
@控制器
公共类EmployeeController{
@自动连线
恩普道道;
@RequestMapping(value=“/index”,method=RequestMethod.GET)
公共模型和视图索引(){
返回新的ModelAndView(“index”,“command”,new Employee());
}
@RequestMapping(value=“/addEmployee”,method=RequestMethod.POST)
公共字符串addEmployee(@modeldattribute(“SpringWeb”)Employee e,ModelMap model){
dao.saveEmployee(e);
model.addAttribute(“消息”,“已成功插入…”);
返回“索引”;
}
}
这是我的表单格式
滚动:
姓名:
地址:

好吧,我看你的JavaScript代码没有任何问题(除了你写的是
JQuery.ajax
而不是
JQuery.ajax

错误代码405表明服务器不支持指定URL的请求方法(
POST

@RequestMapping(value = "/addEmployee", method = RequestMethod.POST)
您已经为
/addEmployee
支持
POST
。并且您已经通过检查浏览器的开发人员工具来验证请求URL是否正确生成

因此,您的请求失败的原因可能有以下情况之一:

  • 浏览器正在以某种方式缓存此请求的响应。请尝试在AJAX配置中设置
    cache:false
  • AJAX没有完全启动,表单实际上已经提交。为了防止这种情况,您可以尝试以下方法:
  • 更改脚本

    $(function() {
      $("form").submit(function (e) {
        e.preventDefault();
    
        var roll = document.getElementById("roll").value;
        var name = document.getElementById("name").value;
        var address = document.getElementById("address").value;
        var dataString = 'roll=' + roll + '&name=' + name + '&address=' + address;
    
        jQuery.ajax({
          type: "POST",
          url: "${pageContext.request.contextPath}/addEmployee",
          data: dataString,
          success: function(data) {
            $("#info").html(data);
          },
          error: function() {}
          });
      });
    });
    
    <input type="submit" value="submit">
    
    从HTML中删除onclick处理程序

    $(function() {
      $("form").submit(function (e) {
        e.preventDefault();
    
        var roll = document.getElementById("roll").value;
        var name = document.getElementById("name").value;
        var address = document.getElementById("address").value;
        var dataString = 'roll=' + roll + '&name=' + name + '&address=' + address;
    
        jQuery.ajax({
          type: "POST",
          url: "${pageContext.request.contextPath}/addEmployee",
          data: dataString,
          success: function(data) {
            $("#info").html(data);
          },
          error: function() {}
          });
      });
    });
    
    <input type="submit" value="submit">
    
    
    

    这将动态绑定
    submit
    事件处理程序,并阻止表单提交到URL。

    请发布AJAX代码。函数doAjaxPost(){var roll=document.getElementById(“roll”).value;var name=document.getElementById(“name”).value;var address=document.getElementById(“address”).value;var dataString='roll='+roll+'&name='+name+'&address='+address;JQuery.ajax({type:“POST”,url:${pageContext.request.contextPath}/addEmployee),数据:dataString,success:function(data){$(“#info”).html(data);},错误:function(){};返回true;}您可以在开发者工具控制台(网络选项卡)中进行验证吗当您发出AJAX请求时,URL是否正确生成?正确的URL已生成,但数据未插入到数据库中…如果没有AJAX,我可以成功插入。请看,此类URL已生成…但未插入到数据库中,并且配置的jquery位于我的jdbtech-servlet.xml中,我没有放置标记…任何问题因为这个??