错误400方法POST

时间:2017-08-01 09:14:27

标签: javascript jquery ajax html5

每次我运行我的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")


    }

});

4 个答案:

答案 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方法更改上述数据的格式。