Javascript 需要从表单获取序列化数据

Javascript 需要从表单获取序列化数据,javascript,prototypejs,Javascript,Prototypejs,我是prototypejs的新手。你们能告诉我如何在原型中使用Ajax从发布的表单中获取序列化值吗 这就是你需要的吗 或者您希望通过ajax而不是页面加载来处理表单?然后 “如何使用Ajax从发布的表单中获取序列化值”听起来像是希望Ajax响应包含发送到服务器的序列化数据,但响应包含的内容完全取决于服务器。通常,一旦发出Ajax请求,onComplete处理程序并不真正关心它发送的属性。onComplete(以及任何其他Ajax回调)的response参数包含一个请求属性,该属性包含参数对象。

我是prototypejs的新手。你们能告诉我如何在原型中使用Ajax从发布的表单中获取序列化值吗

这就是你需要的吗

或者您希望通过ajax而不是页面加载来处理表单?然后

“如何使用Ajax从发布的表单中获取序列化值”听起来像是希望Ajax响应包含发送到服务器的序列化数据,但响应包含的内容完全取决于服务器。通常,一旦发出Ajax请求,
onComplete
处理程序并不真正关心它发送的属性。
onComplete
(以及任何其他Ajax回调)的
response
参数包含一个
请求
属性,该属性包含
参数
对象。如果您确实需要查看您的请求发送到服务器的内容,这将非常有用,例如:

$('customerdetails').request({
    method: 'get',
    onComplete: function(response) {
        console.log(response.request.parameters); // What you sent to the server
        console.log(response.responseText); // What the server sent back to you
        console.log(response.responseJSON); // JSON-ified version of what the server sent back
    }
});
如果Prototype不确定响应是否实际包含JSON(例如,如果响应头设置不正确),则
response.responseJSON
可能为
null
。如果您可以使用JSON作为响应,则可以执行以下操作:

onComplete: function(response) {
    var jsonObj = response.responseJSON || response.responseText.evalJSON();
    // now you can work with jsonObj
}

希望这有帮助,我没有完全误解您的问题。

首先我需要转换为json格式,所以我需要序列化并使用ajax获取值,而不需要页面加载。$('yourform')。serialize(true)将为您序列化为json,然后您可以使用ajax发送,也可以使用$('yourform')。request()它将序列化并发送给您。我正试图像您所说的那样这样做,但我没有在控制台中显示任何值。但是警报消息正在出现$('customerdetails')。请求({method:'get',onComplete:function(details){alert('Form data saved!');console.log(details.responseText);}})如果执行console.log(参数),该怎么办?也许XHR对象是第二个参数,而不是第一个。尽管这已经对我起作用了:
new Ajax.Request('your_ajax_url',{
   method:'POST',
   parameters:Form.serialize($('your_form_id'))
});