每次我运行我的ajax jquery函数时都会收到错误400
这是我的代码,Postman测试都是正面的,但是当webapp运行时,它不起作用,我不知道它是否依赖于代码或html5 有人可以帮帮我吗?
的JavaScript
function add() {
var url= "http://localhost:8080/bip/workAdd";
var work = {
codiceCommessa: document.getElementById("codiceCommessa").value,
commessaMainSub: document.getElementById("commessaMainSub").value,
settoreCliente: document.getElementById("settoreCliente").value,
nomeCliente: document.getElementById("nomeCliente").value,
clienteFinale: document.getElementById("clienteFinale").value,
titoloQuals: document.getElementById("titoloQuals").value,
keyWorrdsTopic: document.getElementById("keyWordsTopic").value,
keyWordsActivities: document.getElementById("keyWordsActivities").value,
anno: parseInt(document.getElementById("anno").value),
dataInizio: document.getElementById("dataIniziale").value,
dataFine: document.getElementById("dataFinale").value,
referente: document.getElementById("referente").value,
referenteDocumentazione: document.getElementById("referenteDocumentazione").value,
sviluppatore: document.getElementById("sviluppatore").value,
path: document.getElementById("path").value
};
$.ajax({
contentType: "application/json; charset=utf-8",
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
type: "POST",
url: url,
data: work,
dataType: "html or json",
success: function (data, status, jqXHR) {
console.log("saved"),
},
error: function (jqXHR, status) {
console.log("error")
}
});
答案 0 :(得分:0)
function add() {
var url= "http://localhost:8080/bip/workAdd";
var work = {
codiceCommessa: document.getElementById("codiceCommessa").value,
commessaMainSub: document.getElementById("commessaMainSub").value,
settoreCliente: document.getElementById("settoreCliente").value,
nomeCliente: document.getElementById("nomeCliente").value,
clienteFinale: document.getElementById("clienteFinale").value,
titoloQuals: document.getElementById("titoloQuals").value,
keyWorrdsTopic: document.getElementById("keyWordsTopic").value,
keyWordsActivities: document.getElementById("keyWordsActivities").value,
anno: parseInt(document.getElementById("anno").value),
dataInizio: document.getElementById("dataIniziale").value,
dataFine: document.getElementById("dataFinale").value,
referente: document.getElementById("referente").value,
referenteDocumentazione: document.getElementById("referenteDocumentazione").value,
sviluppatore: document.getElementById("sviluppatore").value,
path: document.getElementById("path").value
};
$.ajax({
contentType: "application/json; charset=utf-8",
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
type: "POST",
url: url,
data: JSON.stringify(work),
dataType: "html or json",
success: function (data, status, jqXHR) {
console.log("saved"),
},
error: function (jqXHR, status) {
console.log("error")
}
});
您需要使用JSON.stringify(work)
答案 1 :(得分:0)
这一部分搞砸了:
contentType: "application/json; charset=utf-8",
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
contentType
行是正确的,但您需要在headers: { ..... },
答案 2 :(得分:0)
服务器可能无法识别数据。您可能需要对JSON进行字符串化。
答案 3 :(得分:0)
您尝试传递到Ajax函数的工作字典应该是这样的 工作= {' a':' b'' c'' d'} 但是,就像你的情况一样,它是这样的: 工作= {a:' b',c:' d'} 因此,在将其传递给ajax之前,请使用JSON.stringify方法更改上述数据的格式。