简体   繁体   English

如何使用AJAX返回JS值

[英]How to return JS value using AJAX

I have a code like this 我有这样的代码

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

I need to check a condition according to the value returned from get_projectName.php. 我需要根据get_projectName.php返回的值检查条件。 Let get_projectName.php have $abc = 1; 让get_projectName.php有$abc = 1; and according to this value I need to use if condition. 并根据这个值我需要使用条件。

Your jquery condition will be totally depend on the type of data returned from the php function. 你的jquery条件将完全取决于从php函数返回的数据类型。 Let's check for the example:- 我们来看看这个例子: -

Example 1 :- 例1: -

If your php code is :- 如果您的php代码是: -

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

Then jquery will be:- 然后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>

Example 2:- 例2: -

But if your php code is like below:- 但如果您的php代码如下所示: -

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

then jquery will be like below:- 然后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>

Note:- these are simple examples, but conditions will vary in jquery , based on returned response from php . 注意: - 这些是简单的例子,但是jquery条件会有所不同,基于php返回的响应。 thanks. 谢谢。

Forgot the .done 忘了.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
     }
  }); 

You can write code as below - 您可以编写如下代码 -

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

Hope this will help you. 希望这会帮助你。

  • In main-php-file On change of value, Fetch the value pass it a php file sub-php-file via ajax 在main-php-file中更改值,获取值通过ajax将其传递给php文件sub-php-file
  • In sub-php-file, echo the ouput in json format 在sub-php-file中,以json格式回显输出
  • Retrieve the output and do the calculation 检索输出并进行计算


jQuery library , if never included jQuery库 ,如果从未包含

<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>

ajax 阿贾克斯

<script type="text/javascript">
$(document).ready(function(){ 

    $('#myHref').on('change', function(){ 
        var value = $('#myHref').val();
        $.ajax({
                type: "POST",  
                url: "get_projectName.php",  
                data: { id:value },
                dataType: "json",
                success: function(theResponse) {

                        var abc = theResponse['abc'];

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

                    }  
            });
    });
});                 
</script>

get_projectName.php get_projectName.php

<?php
$id = isset($_POST['id']) ? $_POST['id'] : '';

$ReturnArray['abc'] = 1;

echo json_encode( $ReturnArray );
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM