Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的服务器端php没有';I don’我无法从客户端获取数据_Javascript_Php_Jquery_Ajax_Post - Fatal编程技术网

Javascript 我的服务器端php没有';I don’我无法从客户端获取数据

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

以下是我的AJAX代码:

 $("#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";