AJAX POST到PHP如何访问发送的数据

时间:2016-06-16 22:47:43

标签: javascript php jquery ajax

我昨天问过一种提交表单的方法,没有页面刷新,你们想出了jQuery的函数$ .post(' url',{data},callback)。

如何检查数据是否正确发送到我在$ .post()函数中指定的URL,还检查发送的内容?

这是我的代码:

  

HTML

<form id="formSubscripcion" >
    <div class="input-group">
        <input type="email" class="form-control" id="correoPromocion" placeholder="ejemplo@gmail.com" aria-describedby="basic-addon1">
        <span class="input-group-btn">
            <input class="btn btn-success" id="subscripcionBtn" type="submit" value="Enviar!">
        </span>
    </div>
</form>
  

的jQuery

    $('#formSubscripcion').submit( function() {

    var correo = $('#correoPromocion').val();

        $.post('subscripcion.php', 
        {correo: correo}, 
        function(data){
            $('.suscrito').html("You've succesfully subscribed with the e-mail: <b>" + data + "</b>");
        })
  

PHP

<?php
include 'connection.php';

if(isset($_POST['correo'])){
    $correo = $_POST['correo'];
    if (filter_var($correo, FILTER_VALIDATE_EMAIL) && $correo != '') {
    $query = "INSERT INTO `CORREOS` (`email`) VALUES('".mysqli_real_escape_string($link, $correo)."')";
    mysqli_query($link, $query);

    echo $correo;
} 

&GT;

4 个答案:

答案 0 :(得分:3)

只需在表单中放入一封假电子邮件,如果电子邮件存在于数据库中,那就可以了。对于调试,您可以在每个具有网络面板的浏览器上使用开发模式,并且只需要XHR调用,您可以在内部查看每个呼叫,呼叫参数和响应等。

答案 1 :(得分:1)

如果你使用firefox,你应该考虑使用firebp和firephp

https://addons.mozilla.org/fr/firefox/addon/firephp/

或者您可以使用服务器端记录器

答案 2 :(得分:1)

您可以将变量值打印到错误日志中:

error_log('correo: '.$_POST['correo']);

或者,如果您在服务器上有SMTP支持,则可以自己邮寄变量转储:

ob_start();
var_dump($_POST);
$datastring = ob_get_clean();
mail("myemail@domain.com", "Dev Logging", $datastring, "From:Dev <no-reply@domain.com>\r\n"."Content-Type: text/html");

答案 3 :(得分:-1)

$( "#formSubscripcion" ).submit(function( event ) {

  $.ajax(
      {
          type:'POST',
          url:'subscripcion.php',
          data:$('#formSubscripcion').serialize(),
          success:function(response)
          {
            console.log(response);
            var data = JSON.parse(response);
            $('.suscrito').html("You've succesfully subscribed with the e-mail: <b>" + data.correo + "</b>");
          }
      });
});
<?php
include 'connection.php';

if(isset($_POST['correo'])){
    $correo = $_POST['correo'];
    if (filter_var($correo, FILTER_VALIDATE_EMAIL) && $correo != '') {
    $query = "INSERT INTO `CORREOS` (`email`) VALUES('".mysqli_real_escape_string($link, $correo)."')";
    mysqli_query($link, $query);

    echo json_encode($_POST);
}
?>

怎么样?