[英]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.