如何使用AJAX返回JS值

时间:2016-04-22 05:47:29

标签: javascript php jquery ajax

我有这样的代码

$(document).ready(function() {
    $('#myHref').change(function(){
        var value = $('#myHref').val();
        $.get('get_projectName.php',{id:value},function(data)
        { 
        .....
        .....
        if(condition here){}
        }); 
    }); 
});

我需要根据get_projectName.php返回的值检查条件。让get_projectName.php有$abc = 1;,根据这个值,我需要使用if条件。

4 个答案:

答案 0 :(得分:3)

您的jquery条件将完全取决于php函数返回的数据类型。让我们检查一下这个例子: -

示例1: -

如果您的php代码为: -

<?php
if(isset($_GET['id'])){ // check id coming from `ajax` or not
  $data = 1; // as you said
}
echo $data;
?>

然后jquery将是: -

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script><!-- library needed-->
<script type = "text/javascript">
$(document).ready(function() {
   $('#myHref').change(function(){ // you need to check that it is working or not because i don't know from where it is coming
        var value = $('#myHref').val(); // same as above check yourself.
        $.get('get_sales_price.php','',function(data){ 
            if(data ==1){
                alert('hello');
            }else{
                alert('hi');
            }
        });
    });
});
</script>

示例2: -

但如果您的php代码如下所示: -

<?php
if(isset($_GET['id'])){ // check id coming from `ajax` or not
     $data = Array('a'=>1,'b'=>2);
}
echo json_encode($data);
?>

然后jquery将如下所示: -

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script type = "text/javascript">
$(document).ready(function() {
    $('#myHref').change(function(){
        var value = $('#myHref').val();
        $.get('get_sales_price.php','',function(data){ 
            var newdata = $.parseJSON(data);//parse JSON
            if(newdata.a ==1 && newdata.b !== 1){
                alert('hello');
            }else{
                alert('hi');
            }
        });
    });
});
</script>

注意: - 这些是简单的示例,但根据jquery的返回响应,php的条件会有所不同。感谢。

答案 1 :(得分:2)

忘记了.done

  $.get('get_projectName.php',
   {id:value}
  ).done(function(data) { 
     console.log(data)
     var data2 = JSON.parse(data);

     if(data2.abc === 1)
     {
       //Do something
     }else{
       //Else Do something
     }
  }); 

答案 2 :(得分:2)

您可以编写如下代码 -

//At javscript end
$.get( "get_projectName.php", function( data ) {
   if(data == "1"){
     // do your work
   }
});
// At php end
<?php
$abc = 1;
echo $abc;
?>

希望这会对你有所帮助。

答案 3 :(得分:1)

  • 在main-php-file中更改值,获取值通过ajax传递给php文件sub-php-file
  • 在子php文件中,以json格式回显输出
  • 检索输出并执行计算


jQuery库,如果从未包含

#specificDiv

<强> AJAX

 $(response).filter("#specificDiv script").each(function (i) {
                        eval($(this).text());
                    });

<强> get_projectName.php

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>