[英]AJAX Request Payload not showing up in console log
我正在学习 AJAX,我试图在成功和失败的情况下在控制台中记录所有数据参数以发出警报。 我的代码有效,我可以成功转储我发送的数据,但控制台中没有任何显示,即使我明确地将 console.log 放在 Javascript 中以进行注册。 这是我的代码。 html页面
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h2>Send JSON</h2>
<form action="postrequest.php" class="js-ajax-php-json" method="post" accept-charset="utf-8">
<input type="text" name="param1"/>
<input type="text" name="param2"/>
<input type="text" name="param3"/>
<button type="submit">Submit</button>
</form>
</body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
$("document").ready(function(){
$(".js-ajax-php-json").submit(function(){
var param1 = $("#param1").val();
var param2 = $("#param2").val();
var param3 = $("#param3").val();
$.ajax({
url : 'postrequest.php',
contentType: "application/json",
dataType: "json",
type : 'POST',
data: JSON.stringify({
param1: param1,
param2: param2,
param3: param3
}),
success: function(data) {
console.log(data);
},
error: function (data) {
alert(data.param3);
}
});
});
});
</script>
</html>
请求后.php
<?php
var_dump( $_POST);
我究竟做错了什么?
错误 1:删除表单标记。 它会起作用,因为它包含 action="postrequest.php"。 你同时做两件事。
错误 2:您正在编写var param1 = $("#param1").val();
你定义的 param1, param2, param3 在哪里?
错误 3:您提供的是 jquery 链接,您没有关闭脚本标记。
错误 4:您在 ajax 中发送data
并使用相同的变量再次输出 ajax 响应
错误 5:您创建的 Ajax 错误块是错误的。
<!DOCTYPE html>
<html>
<body>
<input type="text" name="param1" id="param1"/>
<input type="text" name="param2" id="param2"/>
<input type="text" name="param3" id="param3"/>
<input type="button" value='Submit' class="js-ajax-php-json" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".js-ajax-php-json").click(function() {
var param1 = $("#param1").val();
var param2 = $("#param2").val();
var param3 = $("#param3").val();
$.ajax({
url: 'postrequest.php',
dataType: "html",
type: 'post',
data: {
param1: param1,
param2: param2,
param3: param3
},
success: function(rsp) {
console.log(rsp);
},
error: function(jqXHR, status, err) {
console.log("Error");
},
});
});
});
</script>
</body>
</html>
postrequest.php 页面
<?php
print_r($_POST);
?>
我刚刚用一个非常简单的代码重写了你的代码。 您可以根据您的要求更改它。
我认为根本原因是您点击提交后页面正在重新加载。 因此,您在控制台中看不到任何内容。 请尝试以下步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.