JSON发送未被服务器API接受

时间:2013-06-22 19:49:25

标签: javascript json object

我正在尝试将一个JSON对象发送到web api,但是遇到了一些麻烦。它应该从输入中获取值,首先检查响应,如果响应正确,则发送数据。这是我的JS代码:

var form = document.getElementById("inputForm"), master = {}, xhr = new XMLHttpRequest(); //global variables used for checking different parts of the process
form.onsubmit = function (e) {
// stop the regular form submission
    e.preventDefault();

// collect the form data while iterating over the inputs
    var data = {};
    for (var i = 0, ii = form.length; i < ii; ++i) {
    var input = form[i];
    if (input.name) {
        data[input.name] = input.value;
    }
    master.data = data;
}
// construct an HTTP request
function get(url, callback) {
xhr.open("GET", url);
xhr.onreadystatechange = function() {
    if(xhr.readyState === 4 && xhr.status === 200) {
        var type = xhr.getResponseHeader("Content-Type");
        if (type.indexOf("xml") !== -1 && xhr.responseXML)
            callback(xhr.responseXML);
        else if (type === "application/json")
            callback(JSON.parse(xhr.responseText));
        else
            callback(xhr.responseText);
    }
};
// send the collected data as JSON
console.log(JSON.stringify(master));
xhr.send(JSON.stringify(master));
}
get("http://example.com:12321/data");
};

但是,在发送时,我在控制台中收到HTTP 500错误,服务器本身的输出显示:

Processing request on /data
Caught error: <unspecified file>(1): expected object or array

这是console.log的结果:

{"data":{"val":"2"}}

我以为我正在正确地发送数据,但它没有认识到它。他们提供的示例是.json文件,并且工作正常,但我的字符串化JSON无法正常工作。

非常感谢任何帮助

0 个答案:

没有答案