如何:浏览器将JSON发送到服务器

How to: Browser send JSON to server?

本文关键字:服务器 JSON 浏览器 如何      更新时间:2023-09-26

我有一个<form>。我想去掉该表单(或其他HTML)中的特定数据元素,将它们形成JSON,然后将JSON作为请求发送到域服务器,服务器将在那里使用它

JavaScript完成上述工作的样子是什么?

注意:我不需要CORS(例如,没有跨站点,都是同一台服务器)

在窗体中获取数据

您可以将serializeArray用于表单。您只需要以正确的方式解析它。下面提供了一个示例方法

$.fn.serializeObject = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
};

操作示例:http://jsfiddle.net/sxGtM/3/

获取HTML元素中的内容

您可以通过使用document.getElementById方法和innerHTML属性来获取div或其他内容

var MyDiv1 = document.getElementById('DIV1');
var content = MyDiv1.innerHTML;

使用jQuery将对象发布到服务器

function sendData() {
$.ajax({
    url: '/example',
    type: 'POST',
    contentType: 'application/json',
    data: <Your JSON Object>,
    dataType: 'json'
});
}