我有一个简单的表单,我试图通过jQuery提交。就是这样:
<form id="turn_conf" action='turn_insert.php' method="POST">
<label for="nombre">Nombre:</label>
<input type="text" id="tu_name" name="tu_name">
<input type="submit" class="botonEnvio" value="Crear">
</form>
目前似乎没有工作的jQuery函数,屏幕上显示“看起来我正在工作”警报
$('#turn_conf').on('submit', validaDatos)
function validaDatos(e) {
var nombreTurno = $('input[name=tu_name]').val();
$.post({url: $(this).attr('action'),
data: { tu_name:nombreTurno },
success:feedback })
e.preventDefault(); }
function feedback (datos) {
alert("Seems I'm working!")}
DDBB上没有插入任何值。在这里你有插入PHP文件“turn_insert.php”:
$nombreTurno = $_POST['tu_name'];
$insertar = mysql_query("INSERT INTO turn_conf (tu_id,tu_name,tu_status) VALUES ('','$nombreTurno','1')");
控制台显示错误:控制台错误:POST localhost / Gestion /%5Bobject%20Object%5D 404 Not Found
关于这里出了什么问题的任何建议?提前谢谢。
答案 0 :(得分:1)
在Chrome中使用F12检查数据是否已提交到指定的网址。使用Console.log();用于调试JavaScript。许多年前,Alert是一个调试选项。
答案 1 :(得分:1)
首先,success
参数传递feedback
的结果,因为您正在调用它而不是将引用传递给函数。您还通过将对象传递给方法来使用$.ajax
版本。 $.post
将对象分解为参数。改为:
$.post($(this).attr('action'), { tu_name:nombreTurno }).success(feedback);
第二个从不直接将用户输入传递到SQL查询中。您可以使用SQL注入和各种恶意。使用绑定参数:http://www.php.net/manual/en/pdostatement.bindparam.php