簡體   English   中英

使用javascript onload()和ajax來檢索php數組

[英]using javascript onload() and ajax to retrieve php array

我正在使用onload()和ajax從php獲取數組,但它沒有用。 html頁面應該能夠從n1.php和alert(“GOOD”)獲取數組,但是它沒有給出任何響應,甚至沒有提示GOOD或BAD,所以我真的不知道代碼有什么問題。 我怎樣才能解決這個問題??

n1.html:

<!DOCTYPE html>
<html>
<body onload="getArr();">
here
</body>
<script type="text/javascript">             
function getArr(){              
    alert('return sent');   
    $.ajax({
        url: "n1.php",
        dataType: 'json',
        success: function(json_data){
        var data_array = $.parseJSON(json_data);
        var rec = data_array[0];
        alert("GOOD");
        },
        error: function() {
        alert("BAD");
        }
    });                 
}
 </script></html>

n1.php:

<?php
    $output = array("cat","dog");
    echo json_encode($output);
?>

請求必須包含請求的類型。 此外,dataType指的是您要發送的數據,只要您不發送任何數據,此處就不需要。 嘗試這個:

$.ajax({
  url: "n1.php",
  type: "GET",
  success: function(json_data){
    var data_array = $.parseJSON(json_data);
    var rec = data_array[0];
    alert("GOOD");
  },
  error: function() {
    alert("BAD");
  }
});  

嘗試這個

$.ajax({
  url: "n1.php",
  dataType: 'json',
  success: function(json_data){
    var data_array = json_data; // Do not parse json_data because dataType is 'json'
    var rec = data_array[0];
    alert("GOOD");
  },
  error: function() {
    alert("BAD");
  }
});

現在,有兩點需要注意:

  1. 您還沒有在ajax中傳遞HTTP方法,但默認情況下它是GETjQuery AJAX文檔中所述 如果不是GET請傳遞適當的方法類型。

  2. 由於您已將dataType作為'json'發送,因此無需在成功處理程序中解析響應中收到的json。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM