使用AJAX从PHP文件获取响应

使用AJAX从PHP文件获取响应,php,jquery,ajax,Php,Jquery,Ajax,这就是我的问题,我正在使用AJAX(jQuery)将表单发布到process.php,但页面实际上需要响应,例如apple或plum。我不知道如何从process.php获取响应并将其存储为变量 以下是我目前掌握的代码: <script type="text/javascript"> function returnwasset(){ alert('return sent'); $.ajax({

这就是我的问题,我正在使用AJAX(jQuery)将表单发布到
process.php
,但页面实际上需要响应,例如
apple
plum
。我不知道如何从
process.php
获取响应并将其存储为变量

以下是我目前掌握的代码:

<script type="text/javascript">
        function returnwasset(){
            alert('return sent');
            $.ajax({
                type: "POST",
                url: "process.php",
                data: somedata;
                success function(){
                    //echo what the server sent back...
                }
            });
        }
    </script>

函数returnwasset(){
警报(“已发送返回”);
$.ajax({
类型:“POST”,
url:“process.php”,
资料:部分资料;
成功函数(){
//回显服务器返回的内容。。。
}
});
}
我还需要在json中回显
process.php
中的响应吗?还是纯文本就可以了

抱歉,如果这听起来像个愚蠢的问题,这是我第一次在Ajax中做这样的事情

PS:如何在上面的代码中命名POST请求?

几乎就是服务器上所需的全部内容

至于JS端,服务器端脚本的输出作为参数传递给success handler函数,因此

success: function(data) {
   alert(data); // apple
}

函数returnwasset(){
警报(“已发送返回”);
$.ajax({
类型:“POST”,
url:“process.php”,
资料:部分资料;
数据类型:'text';//或HTML、JSON等。
成功:功能(响应){
警报(响应);
//回显服务器返回的内容。。。
}
});
}

在PHP文件中,当您回显数据时,请使用json_encode()

e、 g


最佳做法是这样使用:

$.ajax({
    type: "POST",
    url: "/ajax/request.html",
    data: {action: 'test'},
    dataType:'JSON', 
    success: function(response){
        console.log(response.blablabla);
        // put on console what server sent back...
    }
});
php部分是:

<?php
    if(isset($_POST['action']) && !empty($_POST['action'])) {
        echo json_encode(array("blablabla"=>$variable));
    }
?>


成功功能
在成功后缺少一个
。通过打开浏览器的JS/debug控制台,您可以轻松地检查语法错误。谢谢!我将把这个标记为答案,我非常感谢(很抱歉我犯了明显的错误,我是AJAX新手)嗯,我应该在哪里命名post请求,以便服务器将其识别为
$\u post['blah']
?@MarcB:我可以得到变量值吗,我在process.php中有这个值?我很惊讶地发现“return”是多么困难只是需要一个回声。第一次尝试使用Ajax时,我最难理解这一点;但这很简单。许多教程跳过了这一重要信息,大概是因为他们认为这是显而易见的,不需要说出来而不是
回显“苹果”谢谢你的回答,我已经投了赞成票,现在我只需要决定谁来作为答案:)“权力越大,责任越大。”-本·帕克索里·伊桑,但既然马克先回答了,我认为他值得我把它作为答案来标记,而且他后来还指导了我。我还是给了你一票:)无论如何谢谢!这不是一个愚蠢的问题。我非常同意这个答案。您还可以在响应中包含多个变量,例如
array(“blablabla”=>$variable,“success”=>true,“user_message”=“hello”)
然后在JavaScript中使用它们,例如
response.success
。如果将“data”视为字符串,那么实际数据将如何处理?
 $.ajax({
                type: "POST",
                url: "process.php",
                data: somedata;
                success function(json_data){
                    var data_array = $.parseJSON(json_data);

                    //access your data like this:
                    var plum_or_whatever = data_array['output'];.
                    //continue from here...
                }
            });
$.ajax({
    type: "POST",
    url: "/ajax/request.html",
    data: {action: 'test'},
    dataType:'JSON', 
    success: function(response){
        console.log(response.blablabla);
        // put on console what server sent back...
    }
});
<?php
    if(isset($_POST['action']) && !empty($_POST['action'])) {
        echo json_encode(array("blablabla"=>$variable));
    }
?>
var data="your data";//ex data="id="+id;
      $.ajax({
       method : "POST",
       url : "file name",  //url: "demo.php"
       data : "data",
       success : function(result){
               //set result to div or target 
              //ex $("#divid).html(result)
        }
   });