[英]AJAX call to return values from PHP not working
我有一个AJAX脚本,该脚本将值发送到PHP脚本并从PHP脚本检索值。 脚本发送值的部分工作正常。 这是检索值的问题。 我无法找出问题所在。
AJAX代码:
$(document).ready(function() {
$("#raaagh").click(function() {
$.ajax({
url: 'ajax.php', //This is the current doc
type: "POST",
data: ({name: 145}),
success: function(data) {
console.log(data);
$.ajax({
url:'ajax.php',
data: data,
dataType:'json',
success:function(data1) {
var y1=data1;
console.log(data1);
}
});
}
});
});
});
PHP代码:
<?php
$userAnswer = $_POST['name'];
echo json_encode($userAnswer);
?>
data: {name: 145}
尝试这种希望能奏效的方法。
在将值分配给$ userAnswer之前,请检查是否发布了“名称”。
这两个ajax脚本都发送到“ ajax.php”。 在第一个ajax请求中,“名称”被发布,但是在第二个ajax请求中,“名称”没有被发布。
要查看警告和错误,请在php中启用错误报告。
<?php
//To enable error reporting
ini_set('display_errors',true);
error_reporting(E_ALL);
在第二个ajax调用中设置type:'POST'
并尝试使用data1[0]
。
还要记住,您正在发送带有第二个请求的json字符串(来自第一个ajax)。
基本上,您正在编码一个编码后的值,因此当您收到发布值时,您应该json_decode该发布值
您的嵌套AJAX调用未指定请求类型。 默认为GET,但是您的ajax.php尝试查找POST。
$(document).ready(function() {
$("#raaagh").click(function() {
$.ajax({
url: 'ajax.php',
type: "POST",
data: ({name: 145}),
success: function(data) {
console.log(data);
$.ajax({
url:'ajax.php',
type: "POST", //<-- added here
data: {name:data}, //<-- also required for POST
dataType:'json',
success:function(data1) {
var y1=data1;
console.log(data1);
}
});
}
});
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.