AJAX调用从PHP返回值不起作用

时间:2013-03-27 05:18:23

标签: php javascript ajax jquery

我有一个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 个答案:

答案 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);
                }
            });
        }
    });
});

});