我遇到AJAX
电话的问题。我正在尝试访问HTML
的输入
表单元素并使用PHP
脚本将其写入数据库。
我的JS
代码看起来像这样......
function getWriteValues() {
var x = document.getElementById("eingabemaske");
var jqxhr = $.post( "source/form_handler.php",
$( "#eingabemaske" ).serialize() );
alert( 'Eintragung erfolgreich durchlaufen' );
}
PHP部分并不有趣,因为除了数据库插入之外什么也没发生。
现在我的问题。该功能使它应该做的事情。但是,当我删除 alert() 语句时,无处可读。这意味着没有任何内容写入数据库并且无法进行ajax调用。我无法弄清楚问题出在哪里。 我在版本2.1.1中使用了jQuery。
答案 0 :(得分:2)
点击提交按钮时:
或者:
action
中指定的程序中插入数据库答案 1 :(得分:0)
如果表单已提交,您是否调用getWriteValues()? 如果是这样,请不要忘记返回false;
答案 2 :(得分:0)
示例:
<form id="eingabemaske">
<input id="abc" name="abc" value="test" />
<input type="button" id="submit" name="submit" value="Submit" />
</form>
<script type="text/javascript">
$(function(){
$('#submit').on('click',function(e){
e.preventDefault();
getWriteValues();
});
});
function getWriteValues() {
console.log($( "#eingabemaske" ).serialize());
var jqxhr = $.post( "form_handler.php",
$( "#eingabemaske" ).serialize() );
//alert( 'Eintragung erfolgreich durchlaufen' );
}
</script>
在php脚本中
print_r($_REQUEST);
答案 3 :(得分:0)
这可能是由于警报消息为ajax提供时间来执行其工作。请检查ajax之前和之后发生的所有过程。另外,当你从提交按钮调用ajax时(我想你已经从&#34; onsubmit&#34;表单的属性调用了这个函数),可能是在ajax完成之前提交表单。请在函数结束时返回false以进一步停止函数处理。