簡體   English   中英

如何使用AJAX返回JS值

[英]How to return JS value using 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; 並根據這個值我需要使用條件。

你的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返回的響應。 謝謝。

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

您可以編寫如下代碼 -

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

希望這會幫助你。

  • 在main-php-file中更改值,獲取值通過ajax將其傳遞給php文件sub-php-file
  • 在sub-php-file中,以json格式回顯輸出
  • 檢索輸出並進行計算


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>

阿賈克斯

<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

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