Javascript 如何为jquery/ajax帖子的结果赋值?

Javascript 如何为jquery/ajax帖子的结果赋值?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在使用jquery将数据发布到php页面。然后,我希望能够将来自页面的响应放入原始页面上的php变量中。我不想附加DIV或在HTML中显示结果。(这似乎是人们使用post的唯一方式。) 以下是jquery: $(document).ready(function () { $('#drpdown').change(function() { drpdownval=$('#drpdown').val(); $.post("page2.php",{

我正在使用jquery将数据发布到php页面。然后,我希望能够将来自页面的响应放入原始页面上的php变量中。我不想附加DIV或在HTML中显示结果。(这似乎是人们使用post的唯一方式。)

以下是jquery:

$(document).ready(function () 
{
    $('#drpdown').change(function() 
    {
        drpdownval=$('#drpdown').val();
        $.post("page2.php",{incomingval:drpdownval},function(result))};

    });
});
$(document).ready(function () 
{
    $('#drpdown').change(function() 
    {
        drpdownval=$('#drpdown').val();
        $.post("page2.php",{incomingval:drpdownval},function(result){
          if(result != 1){ ///could not put result !="hello" or != hello
          $("#signup").overlay().load();  
          }
        )};
    });
});
PHP page2.PHP:

<?php
$valtoworkwith = $_REQUEST['incomingval'];
......../// do something
?>

使用JSON实现互联互通,这意味着客户机和服务器之间的数据交换完全通过AJAX进行。下面是StackOverflow答案的链接,其中详细介绍了如何使用PHP作为后端实现这一点:


只要到这里,就可以清楚地看到


这是$.ajax的文档页面,如果向下滚动,您将有非常好的示例可以从中开始。

您正在尝试这样做吗

if (!empty($_POST['incomingval'])){
  $valtoworkwith = $_POST['incomingval'];
  //do some stuff
  echo $valtoworkwith;
}
或者如果你想发回一个JSON

<?php

  function doSomeStuff($input) {
    //instead of that do some stuff and return back something that makes sense
    $output = $input;
    //
    return $output;
  }

  if (!empty($_POST['incomingval'])){
    header('Content-Type: application/json');

    $valtoworkwith = $_POST['incomingval'];
    $res = doSomeStuff($valtoworkwith);

    $data = array('incomingval' => $valtoworkwith, 'response' => $res);
    echo json_encode($data);
  }

?>

原始页面不能将它们放入PHP变量中,它只能将它们放入Javascript或DOM中。当页面在客户机上呈现并且jQuery运行时,原始页面的PHP已经完成。对……我想在我的原始jQuery中使用它。如果我的“做点什么”存在,请向原始页面发送“竖起大拇指”。我就是不知道如何把结果放到页面上。(当我能学会如何与他们合作时……)我是一个脚本新手……是的,在过去几天里,我已经把这一页读了四遍,试图理解或让它为我工作。我不想得到帖子的默认回复。我想返回值(实际上来自sql数据库……我简化了我的原始问题,希望得到更快的答案。)在这种情况下,您正在使用的.php页面应该是一个mysql_查询,然后以某种方式回显结果,可以使用json_编码,也可以简单地回显值(如果您只需要一个),并在ajax.success中处理它-请参阅文档。您还将发现,有一种方法可以将数据和ajax请求一起发送!这就是我需要的…如何在成功中处理它。我无法得到一个清楚的解释。所有的例子都展示了如何添加到DOM中。。。玩一玩。在“demo.php”文件中发布一篇ajax文章,该文件只包含一个“hello”字符串或回音“hello”;如果您希望然后通过在success方法中执行console.log或alert进行测试,类似这样的操作:success:function(data){alert(data);}看看您得到了什么。我可以将结果显示到页面并显示在DIV中。我只是不知道如何像php变量一样进行操作,甚至无法在条件语句中使用。如果返回“hello”,为什么我不能创建If(results=='hello'){do something…}。(我尝试了几种方法,但都没有效果。这是因为该值是在页面完成后出现的吗?它不能用于浏览器中刚刚显示的jquery的其他行吗?我想你可能了解了一些东西…(为什么我之前没有找到它?)有时候,我必须知道该找什么,这可能会导致数小时的在线搜索。老实说,花这几个小时来学习这个,当我这么做的时候,也有助于学习其他的东西。因此,本质上,在认输之前,对这个主题做更多的研究总是很好的。有时候,如果你发现所有的p问题的可能性:)我想获取page2.php的响应,将其放入php变量
$valtoworkwith
(或类似变量)中。然后将其发送到原始页面jquery,并使用它在条件语句中继续脚本。抱歉,刚刚编辑过,请使用承诺,然后您甚至可以链接调用
$(document).ready(function () 
{
    $('#drpdown').change(function() 
    {
        drpdownval=$('#drpdown').val();

        $.post("page2.php",{incomingval:drpdownval})
        .then(function(data){ //look how awesome the promise looks
        console.log(data.response); //do something with it
        })

    });
});