Javascript 如何在数据库中存储JS变量
我正在使用CakePHP,从几天开始,我尝试在ajax(jQuery)的帮助下在mysql数据库中存储java脚本变量 我使用以下代码来执行此操作: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
<!-- 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();