繁体   English   中英

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

[英]AJAX POST to PHP how to access the data sent

昨天我问了一种无需刷新页面即可提交表单的方法,你们想出了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;
} 

?>

只需将伪造的电子邮件放入表格中,如果该电子邮件存在于数据库中,则可以正常工作。 为了进行调试,您可以使用网络面板在每个浏览器上使用开发人员模式,并且可以使用XHR调用,您可以在其中看到每个调用,调用参数和响应等。

如果您使用firefox,则应考虑将firebug与firephp一起使用

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

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

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

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");

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

这个怎么样??

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM