使用AJAX的POST JSON无法正常工作

时间:2014-06-05 09:25:27

标签: jquery ajax json rest

我一直在使用AJAX将JSON数据发布到我的网络服务器上。我查看了类似的主题并尝试了解决方案,但到目前为止没有任何工作。 How to send a JSON object using html form data

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $("#myForm").submit(function() {
//document.writeln("hello");
    var formData = JSON.stringify($("#myForm").serializeArray());
    //$('#result').text(JSON.stringify($('form').serializeObject()));
    $.ajax({
      type: 'POST',
      url: "http://localhost:8080/student-web/students/create",
      data: formData,
      success: function(){},
      dataType: 'json',
      contentType : 'application/json',
      processData: false
   `    });
   });
});

</script>
</head>

<body>
<h2>Form</h2>
<form  method="post" name="myForm">
Username:<input type="text" name="username" maxlength="12" size="12"/> <br/>
password:<input type="text" name="password" maxlength="36" size="12"/> <br/>

<p><button name="submit" onclick="submitform()">SUBMIT</button></p>
</form>

AJAX没有执行,但我无法弄清楚原因。我正在使用RESTful Web服务,当我卷曲帖子时,它可以工作:

curl -k -v -H "Content-Type: application/json" -X PUT -T "test" http://localhost:8080/student-web/students/create

在测试文件中是:

{"username":"hi","password":"bye"}    

RESTful Web服务本身:

@RequestMapping(value = "/students/create", method = RequestMethod.POST)
@ResponseBody
public void insertStudent(@RequestBody Student student) {
    studentService.insertStudent(student);
}

我还创建了一个applicationContext.xml,它允许.jsp页面和json:

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/pages/" />
  <property name="suffix" value=".jsp" />
 </bean>
 <mvc:annotation-driven/>     

任何人都知道如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我在这里使用你的代码创建了一个小提琴,ajax工作正常,请看这里

http://jsfiddle.net/jF3eD/1/

$("#myForm").submit(function() { 
var formData = JSON.stringify($("#myForm").serializeArray());

$.ajax({     
  url: "/student-web/students/create",
  type: "POST",
  data: formData,
  success: function(){},
  dataType: 'json',
  contentType : 'application/json',
  processData: false
   });
});

如果这不是唯一的问题,请提供有关您的问题的更多信息。