我正在尝试与php使用jquery ajax方法进行通信。
'ascii' codec can't encode character u'\u200e' in position 11141: ordinal not in range(128)
我的jquery
<form class="form-group" id="formm" action="check.php" method="post">
<label for="">Testing</label><br>
<input type="text" class="col-md-5" id="name" placeholder="" name="name"><br>
<button type="button" name='button' id="button" class="btn btn-default" type="submit">button</button>
<p class="help-block" id="result">Help text here.</p>
</form>
我的PHP代码
$(document).ready(function(){
$("#button").click(function(){
$.post("check.php", $( "#formm :input" ).serialize(), function(info) {
$("#result").html(info);
});
});
});
$("#button").click(function(e){
e.preventDefault();
});
现在,js脚本正在与php通信但不是我想要的。 1.当我使用serialize()时,它会停止通信 2.当我不使用serialize()时,我的php代码会将我发送回去&#34;无法插入&#34; 3.我尝试使用php错误报告行,js不会再次进行通信。控制台上也没有错误。 有什么我想念的吗?
UPDATE:尝试仅序列化formm而不是输入元素,仍然无效。
答案 0 :(得分:1)
首先,一些警告:
Little Bobby说 your script is at risk for SQL Injection Attacks. 了解prepared的MySQLi语句。即使escaping the string也不安全! Don't believe it?
向您的查询添加错误检查,例如or die(mysqli_error($con))
。或者您可以在当前的错误日志中找到问题。
我一直在寻找错误的错误。您的INSERT
查询语法错误,您无法在WHERE
查询中使用INSERT
。
将INSERT INTO name WHERE name='$username'
更改为INSERT INTO name_of_table (name_of_column) VALUES('$username')
答案 1 :(得分:0)
序列化表格而不是输入
$.post("check.php", $( "#formm" ).serialize(), function(info) {
$("#result").html(info);
});