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

时间:2014-04-12 00:34:08

标签: javascript php jquery ajax

我使用jquery将数据发布到php页面。我希望然后从页面的响应能够被放入原始页面上的PHP变量。我不想附加DIV或在HTML中显示结果。 (这似乎是人们用帖子做的唯一事情。)

这里是jquery:

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

    });
});

PHP page2.php:

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

我想在page2.php上做一些事情然后将特定的值发送回jquery来使用。怎么样?如何为它们指定名称或将它们分开?

修改

我的jquery需要一个数字,而不是文本。

这里是jquery:

$(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();  
          }
        )};
    });
});

3 个答案:

答案 0 :(得分:0)

使用JSON来实现互连,即完全通过AJAX在客户端和服务器之间进行数据交换。这里是StackOverflow答案的链接,详细介绍了如何使用PHP作为后端:

jQuery AJAX Call to PHP Script with JSON Return

答案 1 :(得分:0)

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

https://api.jquery.com/jQuery.ajax/

这是$ .ajax的文档页面,如果你向下滚动,你会有很好的例子,你可以从中开始。

答案 2 :(得分:0)

您是否正在尝试做类似的事情?

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

?>

我希望对你有所帮助,因为它自己的答案有点模糊。

使用邮差测试

在JS中你可以做一个承诺

$(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
        })

    });
});