需要帮助使用AJAX将PHP变量传递给jQuery

时间:2015-05-05 17:36:15

标签: jquery ajax

我在PHP代码中有一个名为$final_value的变量。我试图使用$.ajax将其传递到jQuery文件中,但我无法这样做。任何帮助将不胜感激。

HTML(test.php)

<body>
    <h1>Test</h1>
    <p class="result">
    <?php            
        $final_value = 27.00;            
        echo '<strong>'.$final_value.'</strong>';
        echo json_encode($final_value);
    ?>
    </p>
    <p id="test"></p>        
</body>

的jQuery

$(document).ready(function(){
    createValue();

    function createValue(){        
    $.ajax({
        url: 'http://localhost/test.php',
        method: 'post',            
        dataType: 'json',
        success: function(output){
            $('#test').append(output);
        },
        error: function(){
            alert('error');
        }
    });
    }
});

1 个答案:

答案 0 :(得分:1)

您的PHP脚本返回HTML,而不是JSON。所以在AJAX调用中使用dataType: 'html'。但是你不应该在HTML周围<body> - 它将被插入到已经在正文中的DIV中,并且你不能在同一个文档中有多个<body>标记。

你可以在PHP中删除echo json_encode($final_value);,这是不需要的。

或者更改PHP以便回应JSON - 摆脱它周围的所有HTML。然后你的jQuery代码需要将响应包装成HTML并将其添加到DOM:

$.ajax({
    url: 'http://localhost/test.php',
    method: 'post',            
    dataType: 'json',
    success: function(output){
        $('#test').append("<strong>" + output + "</strong>");
    },
    error: function(){
        alert('error');
    }
});