Javascript 如何在数据库中存储JS变量

Javascript 如何在数据库中存储JS变量,javascript,ajax,jquery,cakephp-2.0,Javascript,Ajax,Jquery,Cakephp 2.0,我正在使用CakePHP,从几天开始,我尝试在ajax(jQuery)的帮助下在mysql数据库中存储java脚本变量 我使用以下代码来执行此操作: <!-- document javascripts --> <script type="text/javascript"> $(document).ready(function () { $('#saveForm').submit(function(){ var fo

我正在使用CakePHP,从几天开始,我尝试在ajax(jQuery)的帮助下在mysql数据库中存储java脚本变量

我使用以下代码来执行此操作:

 <!-- document javascripts -->    
<script type="text/javascript">
    $(document).ready(function () {
        $('#saveForm').submit(function(){
            var formData = $(this).serialize();
            var formUrl = $(this).attr('action');
            $.ajax({
                type: 'POST',
                url: formUrl,
                data: formData,
                success: function(data,textStatus,xhr){
                        alert(data);
                },
                error: function(xhr,textStatus,error){
                        alert(textStatus);
                }
            }); 
            return false;
        });
    });
</script>

$(文档).ready(函数(){
$('#saveForm')。提交(函数(){
var formData=$(this.serialize();
var formUrl=$(this.attr('action');
$.ajax({
键入:“POST”,
url:formUrl,
数据:formData,
成功:函数(数据、文本状态、xhr){
警报(数据);
},
错误:函数(xhr、textStatus、error){
警报(文本状态);
}
}); 
返回false;
});
});
但是当我点击submit按钮时,Ajax会发布我网页的全部源代码=(

我需要的是一个函数来将java脚本变量存储到我的数据库中,但不需要重新加载页面


非常感谢您的帮助=)

您告诉jQuery序列化表单元素。也就是说,将表单元素转换为文本字符串。换句话说,您告诉它获取表单的HTML代码并将其发送到服务器


我不知道(或想知道)通过AJAX发送表单数据的正确方式是什么,但我知道您实际上需要做一些事情,比如访问表单字段以获取其值。

问题可能在于数据参数<代码>$('#saveForm')。序列化()
应该没问题

我的js有点生锈,但请尝试更换:

var formData = $(this).serialize();
致:

或:

假设您希望序列化并存储整个表单的html

要仅从表单中提取一个值(我认为不需要序列化),请尝试:


当然,将someInputName更改为您想要保存的字段的实际名称。

她从表单的action属性中获取url,显然这没有错,因为如前所述:“Ajax将发布我网页的整个源代码”。问题在于它发布了什么,而不是它要去哪里。嗨,谢谢大家回复=)现在我使用以下语句:
var formData=$('#saveForm').val()当我打印出这个变量时,它工作正常。但是来自ajax块的数据变量的值仍然是整个页面=(页面也在重新加载?不,页面没有重新加载。这很好。甚至变量“formData”也填充了正确的数据。但是ajax仍然显示了整个源代码=(
var formData = $('#saveForm').serialize();
var formData = $('#saveForm').val().serialize();
var formData = $('#saveForm #someInputName').val();