如何发布ajax并获得响应?

时间:2014-09-02 07:40:36

标签: javascript php ajax post response

我的表单,帖子和回复都有问题。在我的表单中,我使用ajax帖子调用函数(javascript):

var vars = "test="+test;
$.ajax({
    type: "POST",
    url: "index.php",
    data: vars
}).done(function(data) {
    alert(data);
}).fail(function(data) {
    alert(data);
});

在index.php中,我收到了所有数据:

<?php
    $test = $_POST['test'];
    //do something
?>

之后我必须给以前的PHP回馈一个值。 我能怎么做??感谢

5 个答案:

答案 0 :(得分:0)

与为任何其他HTTP请求发送数据的方式相同。

header("Content-Type: text/plain");  # Avoid introducing XSS vulnerabilities
echo $test;

答案 1 :(得分:0)

如果它是一个简单的值,您需要返回,您可以echo它,它将作为响应返回。

如果您需要返回更复杂的结构,请将其存储在PHP数组中,例如$response,然后使用echo json_encode($response);将其输出回javascript。

答案 2 :(得分:0)

这可能会有所帮助

<强>的Javascript

var vars = { test : "test" };
$.ajax({
    type: "POST",
    url: "index.php",
    dataType : 'json',
    data: vars,
    success : function(data) {
        console.log(data);
    },
    error : function(resp) {
        console.log(resp.responseText);
    }
});

<强> PHP

<?php
    $test = $_POST['test'];
    echo json_encode($test);
?>

尝试并检查控制台日志

答案 3 :(得分:-1)

如果必须以JSON格式返回数据,请使用

echo json_encode($test);

否则,您可以简单地回显ajax响应中所需的变量。即

echo $test;

答案 4 :(得分:-1)

var vars = "test="+test;
$.ajax({
    type: "POST",
    url: "index.php",
    data: vars
    success: function(html){
         alert(html)
    }
});
在index.php中输入

,输入以下代码并检查

<?php
    $test = $_POST['test'];
    //do something
    echo $test
?>