我一直在使用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/>
任何人都知道如何解决这个问题?提前谢谢。
答案 0 :(得分:0)
我在这里使用你的代码创建了一个小提琴,ajax工作正常,请看这里
$("#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
});
});
如果这不是唯一的问题,请提供有关您的问题的更多信息。