0

我有一个 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);    
?>
4

4 回答 4

0
data: {name: 145}

试试这个希望这会奏效。

于 2013-03-27T05:23:08.117 回答
0

在将值分配给 $userAnswer 之前,请检查是否发布了“名称”。

两个 ajax 脚本都发送到“ajax.php”。在第一个 ajax 请求中发布“名称”,但在第二个 ajax 请求中未发布“名称”。

要查看警告和错误,请在 php.ini 中启用错误报告。

<?php 
//To enable error reporting
ini_set('display_errors',true);
error_reporting(E_ALL);
于 2013-03-27T05:38:04.090 回答
0

在第二个 ajax 调用中设置type:'POST'并尝试使用data1[0].
还请记住,您正在与第二个请求一起发送一个 json 字符串(来自第一个 ajax)。
基本上你正在编码一个编码值,所以当你收到 post 值时,你应该 json_decode post 值

于 2013-03-27T07:47:58.873 回答
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);
                }
            });
        }
    });
});

});

于 2013-03-27T11:35:25.807 回答