2014-06-05 102 views
0

我一直在使用AJAX發佈JSON數據到我的Web服務器。我查看過類似的主題並嘗試瞭解決方案,但目前爲止還沒有成功。 How to send a JSON object using html form dataPOST JSON與AJAX不起作用

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

我也創建了一個允許.jsp頁面和json的applicationContext.xml:

<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

其中,您正在使用'form'' name'形式的'id'作爲'id'。爲表單指定id並使用它。 – Madhu

+0

我改變了它,並在窗體中添加了id,但它仍然沒有執行。 '

' – user3706583

回答

0

我一直在使用你的代碼在這裏阿賈克斯工作正常看到這裏

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

如果這並不soleve您的問題提供了關於您的問題更多信息創建一個小提琴。