Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何:浏览器向服务器发送JSON?_Javascript_Json_Ajax_Forms - Fatal编程技术网

Javascript 如何:浏览器向服务器发送JSON?

Javascript 如何:浏览器向服务器发送JSON?,javascript,json,ajax,forms,Javascript,Json,Ajax,Forms,我有一个。我想将该表单(或其他HTML)中的特定数据元素剥离出来,将它们形成JSON,然后将该JSON作为请求发送到域服务器,服务器将在其中使用它 执行上述工作时,JavaScript看起来像什么 注意:我不需要COR(例如,没有跨站点,都是同一台服务器)以表单获取数据 您可以对表单使用serializeArray。您只需要以正确的方式解析它。下面提供了一个示例方法 $.fn.serializeObject = function() { var o = {}; var a = t

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

执行上述工作时,JavaScript看起来像什么


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

以表单获取数据

您可以对表单使用
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;
};
行动中的例子:

获取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'
});
}
函数sendData(){
$.ajax({
url:“/示例”,
键入:“POST”,
contentType:'应用程序/json',
数据:,
数据类型:“json”
});
}

感谢您快速给出的精彩答案!以下是我到目前为止得到的:
code
$(函数(){$('form').submit(函数(){$SendData(JSON.stringify($('form').serializeObject());返回false;})$(函数sendData(form_data){$.ajax({url:'/my_data',type:'POST',contentType:'application/json',data:form_data,dataType:'json'});});我对JavaScript完全是新手,所以如果这是一个非常错误的问题,请原谅。:-)抱歉--我还不知道如何在响应中格式化代码请用更新修改您的第一篇文章。从那里我可以更好地说明我的答案。嗨,汤姆!是的,上面的那个帖子真难看!我道歉。我还不知道如何格式化这些位以正确显示。然而我能够让一切顺利进行。您的答案,再加上对工作代码的进一步研究!再次感谢!