2 回答

TA贡献1820条经验 获得超10个赞
您的代码中存在一些错误,请尝试在 chrome 开发人员工具中对其进行调试。我做了一些改变,它是有效的
(function() {
function toJSONString( form ) {
var obj = {};
var elements = form.querySelectorAll( "input, select" );
for( var i = 0; i < elements.length; ++i ) {
var element = elements[i];
var name = element.name;
var value = element.value;
if( name ) {
obj[ name ] = value;
}
}
return JSON.stringify( obj );
}
window.onload = function() {
var form = document.getElementById("test");
var output = document.getElementById("output");
form.onsubmit = function( e ) {
e.preventDefault();
var json = toJSONString( this );
console.log(json);
$.ajax({
url: form.getAttribute( 'action' ),
headers: {
'Accept': 'application/json',
'Content-Type': "application/json; charset=utf-8"
},
type: 'POST',
data: json,
success: function(data) {
alert("data saved")
},
error: function() {
console.log(errorThrown);
}
})
};
}
})();

TA贡献1828条经验 获得超4个赞
尝试添加
dataType: "json",
contentType : "application/json"
到你的 $.ajax 方法
$.ajax({
url: $form.attr( 'action' ),
dataType: "json",
contentType : "application/json"
type: 'POST',
data: json,
success: function(data) {
alert("data saved")
},
error: function() {
console.log(errorThrown);
}
})
你也有;在 $.ajax 方法中的 url 字段中 - 所以最好将其删除;)此外,使用例如 PostMan 检查服务是否正常工作总是更好,所以你确定它不是服务端,我不知道你使用了什么框架,但是您也可以尝试更换
public Response postRequest(JSONObject object) {
和
public Response postRequest(String object) {
检查映射是否有问题
添加回答
举报