我有一个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);
?>
答案 0 :(得分:0)
data: {name: 145}
尝试这个希望这将有效。
答案 1 :(得分:0)
在将值分配给$ userAnswer之前,请检查是否发布了“name”。
两个ajax脚本都发送到“ajax.php”。在第一个ajax请求“name”发布,但在第二个ajax请求“name”未发布。
要查看警告和错误,请在php中启用错误报告。
<?php
//To enable error reporting
ini_set('display_errors',true);
error_reporting(E_ALL);
答案 2 :(得分:0)
在第二个ajax调用中设置type:'POST'
并尝试使用data1[0]
。
还要记住你是用第二个请求发送一个json字符串(来自第一个ajax)。
基本上你是编码一个编码值,所以当你收到post值时你应该json_decode这个帖子值
答案 3 :(得分:0)
您的嵌套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);
}
});
}
});
});
});