通过AJAX将表单数据传递给mySQL

我使用JavaScript和AJAX将表单数据发送到php处理文件,然后填充SQL数据库而不刷新初始表单页面。

php / SQL连接正常,但表单数据没有正确发送。

有两个字段:一个名为“choice”的广播组和一个名为“comments”的文本字段。 填充数据库时,选择字段始终为“是”(3个单选按钮中的第一个),并且注释字段始终为空白。 我认为问题必须是构建数据字符串的方式,但数小时的修改并没有带来成功。

这是html表单

这是Javascript / AJAX函数

  $(function() { $("#form_process").click(function() { var choice = $("#choice").val(); var comments = $("#comments").val(); var dataString = 'choice='+ choice + '&comments=' + comments; $.ajax({ type: "POST", url: "**ABSOLUTE URL TO PROCESSOR**", data: dataString }); }); });  

这是php处理器

  

想法或建议?

我在这里发现了一个非常相似的问题,但这个post已经有3年了。 用户建议这样做

 //Instead of using data: dataString //use data : {param: value, param2: value2} 

但我不确定他是如何或以何种格式获得参数值。

谢谢
-音节

如果是我,我会通过使用Form插件让自己更容易。 它已经有了一个ajaxSubmit函数集,可以轻松地对表单进行ajaxify。 它还具有方便的formSerialize函数,该函数将序列化ajax提交的表单或附加到链接的查询字符串。 🙂

这说没有插件和利用现有代码的更简单的方法:

 $("#form_process").click(function() { $.ajax({ type: "POST", url: "**ABSOLUTE URL TO PROCESSOR**", data: { 'choice': $("input[@name=RadioGroup1]:checked").val(), 'comments': $("#comments").val() } }); }); 

无论哪种方式,您还需要更改所有无线电输入以具有唯一ID(或根本没有ID)…您不能使用所需的所有id属性在文档中具有唯一值的相同ID。

几个星期前我有同样的问题,我只是尝试使用这样的旧方式

  

真的我不知道,我认为这不是最好的方式,但这对我来说工作:)