[英]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");
}
});
現在,有兩點需要注意:
您還沒有在ajax中傳遞HTTP方法,但默認情況下它是GET
如jQuery AJAX文檔中所述 。 如果不是GET
請傳遞適當的方法類型。
由於您已將dataType
作為'json'發送,因此無需在成功處理程序中解析響應中收到的json。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.