Javascript 我的服务器端php没有';I don’我无法从客户端获取数据
以下是我的AJAX代码:Javascript 我的服务器端php没有';I don’我无法从客户端获取数据,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,以下是我的AJAX代码: $("#loginbutton").click(function(){ var email = $('#email').val(); var password = $('#password').val(); $.ajax({ url: 'login.php', type: 'POST', data
$("#loginbutton").click(function(){
var email = $('#email').val();
var password = $('#password').val();
$.ajax({
url: 'login.php',
type: 'POST',
dataType: 'json',
data: { email:email, password:password},
success: function(data){
$("#samplediv").innerHTML ="Welcome";
}
});
});
这是我的PHP:
<?php
session_start();
$conn = mysqli_connect("localhost", "root", "", "getpet");
if(isset($_POST['email'])){
echo $_POST['email'];
}
?>
在数据对象中,键不是字符串,而是定义的变量。这样做是为了让
电子邮件
和密码
按字面意思理解:
data: { 'email':email, 'password':password},
我认为这是一个跨原点的问题,但通常情况下这会显示在控制台中。在json中附加一个错误输出并查找它,如果它是php错误,您现在就会被注意到
$.ajax({
url: 'login.php',
type: 'POST',
dataType: 'json',
data: { email:email, password:password},
success: function(data){
$("#samplediv").innerHTML ="Welcome";
},
error: function (jqXHR, textStatus, errorThrown) {{
console.error('ajax response failed');
console.log(jqXHR.responseText);
}
});
->确保调用jQuery:)
->已添加文档准备就绪
->添加了防止默认值
->使用输入而不是按钮只是我的方便
在编辑了原始问题之后,我看到了php代码,我会推荐它
不再使用MD5,而是使用密码\u散列/密码\u验证
你应该<强>真< /强>考虑使用。这会有帮助的
$(“#samplediv”).innerHTML=“欢迎”代码>是错误的
这里有一个jquery元素,并尝试使用普通函数进行访问
$("#samplediv").text("Welcome");
// or
$("#samplediv")[0].innerHTML = "Welcome";
如果打开浏览器开发工具,它将显示错误:
innerHTML不是…的函数。您的代码对SQL注入非常开放。您是否尝试过使用get而不是post?使用数据类型:“json”的具体原因是什么?我不知道这对SQL注入有多大的开放性。有一个带有静态凭证的mysqli\u connect
,仅此而已-根本没有运行任何查询。我真的不明白POST和GET ajax请求之间的区别。它能帮助我吗?是的,我使用Json对象,但它不相关。如果您愿意,我可以显示其余的php代码。没有发生任何事情:(如果它不是字符串就可以了,因为它是对象的键
,数据
是对象记忆,它不使用同名变量的内容吗?
<script type="text/javascript">
$(document).ready( function() { /* only when everything is set up */
$("#loginbutton").click(function(e){
e.preventDefault();
var email = $('#email').val();
var password = $('#password').val();
$.ajax({
url: "login.php",
method: "POST", /* changed to `method` */
data: "email="+email+"&password="+password, /* MODIFIED */
success: function(data){
alert(data);
$("#samplediv").html("Welcome !");
},
error: function (request, status, error) { /* added error handling */
alert(request.responseText);
}
});
});
});
</script>
<div id="samplediv"></div>
<form action="#" id="form" method="post">
<p><input type="text" name="email" id="email" value="" /> email</p>
<p><input type="text" name="password" id="password" value="" /> pwd</p>
<input type="submit" id="loginbutton" value="GO" />
</form>
<?php
/* login.php */
error_reporting(E_ALL); ini_set('display_errors', 1);
$email = $_POST['email'];
$pwd = $_POST['password'];
echo"[ email > $email / pwd : $pwd ]"; /* for example only, of course, not with real credentials */
?>
$("#samplediv").text("Welcome");
// or
$("#samplediv")[0].innerHTML = "Welcome";