[英]jQuery.getJSON() Not working
我正在嘗試從我的PHP腳本中獲取JSON數組。 以下是我在jsp文件中編寫的Jquery代碼-
$(document).ready(function()
{
alert("Inside Ready");
$.getJSON('http://example.com/root_dir/test_json.php', function(data)
{
alert(data);
});
});
但是,上面的代碼僅顯示外部警報(即alert(“ Inside Ready”);),而不顯示內部警報(即alert(data);)。 當我在瀏覽器中點擊URL時,我得到了預期的json。 因此,毫無疑問,URL和php-script中沒有問題。
以下是test_json.php
<?php
//Create an array
$json_response = array();
$row_array['label'] = 'A';
$row_array['value'] = $row['0 to 2'];
$row_array['color'] = '#FA2020';
array_push($json_response,$row_array);
$row_array['label'] = 'B';
$row_array['value'] = $row['2 to 3'];
$row_array['color'] = '#2BD95A';
array_push($json_response,$row_array);
$row_array['label'] = 'C';
$row_array['value'] = $row['above 3'];
$row_array['color'] = '#F7F739';
//push the values in the array
array_push($json_response,$row_array);
echo json_encode($json_response);
?>
當我在瀏覽器中點擊URL時獲取以下json-
[{"label":"A","value":"19","color":"#FA2020"},{"label":"B","value":"1","color":"#2BD95A"},{"label":"C","value":"2","color":"#F7F739"}]
我正在使用jquery-1.10.2.js 。 謝謝..!
試試這個...希望如此對您有用
$(document).ready(function()
{
$.ajax({
type:'POST',
url:'http://example.com/root_dir/test_json.php',
dataType:'JSON',
data:{
},
success:function(data1){
alert(data)
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert("error");
}
});
});
您的代碼似乎運行良好-我剛剛用您的代碼創建了一個測試頁,它可以正常工作-
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
alert("Inside Ready");
$.getJSON('http://<<CHANGE SERVER NAME>>/zz-test/get_json.php', function(data)
{
alert(data);
});
});
</script>
</head>
<body>
</body>
</html>
您的jQuery和PHP代碼看起來不錯,因此,根據我的經驗,這通常是由於從其他域(即file:///)調用PHP腳本引起的錯誤。 如果可以訪問瀏覽器的控制台,則應該能夠查看這是否實際上是導致數據不顯示的錯誤。
一種解決方案是在PHP代碼的頂部添加: header('Access-Control-Allow-Origin: *');
。 但是,此操作存在一些安全問題,因此不應永久使用。
或者,您可以將所有HTML,CSS,JS,jQuery等代碼上傳到托管PHP文件的Web服務器,這是更好的選擇。
最后,如果上述選項不可行,則可以使用JSON-P(盡管這不適用於POST請求),但是在Simple jQuery,PHP和JSONP示例中是否對此存在疑問?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.