在我的js页面中,我想使用ajax()从php页面获取一些变量; 这都是由html页面加载触发的。我曾尝试使用GET和POST,但没有任何警报或记录到我的控制台,就像它应该,甚至没有错误。
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script src="http://XXXXXX/bn/sample.js"></script>
</head>
<body>
<div>Welcome! </div>
</body>
</html>
JS:(sample.js)
$(function(){
$.ajax({
url : "http://XXXXXX/bn/sample.php",
type : 'GET',
data : data,
dataType : 'json',
success : function (result) {
alert(result.ajax); // "Hello world!" should be alerted
console.log(result.advert);
},
error : function () {
alert("error");
}
});
});
PHP:
<?php
$advert = array(
'ajax' => 'Hello world!',
'advert' => 'Working',
);
echo json_encode($advert);
?>
答案 0 :(得分:1)
您在“data:data”设置的数据是您发送到php脚本的数据。但是你不发送任何东西。您收到的数据在您的成功函数中可用。所以打印出来。 加上我删除了警报。警报很蹩脚。控制台摇滚!
“$(document).ready(”部分会在你的文档被加载完成后立即启动你的功能。我想这就是你需要的东西,并且想要那里。
$(document).ready(function() {
$.ajax({
url : "http://XXXXXX/bn/sample.php",
type : 'GET',
data : (),
dataType : 'json',
success : function (data) {
console.log(data.advert);
},
error : function () {
console.log("error");
}
});
});
编辑:删除最后一个逗号,因为你的数组在那里结束。你可能想在输出之前设置一个标题。
<?php
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
$advert = array(
'ajax' => 'Hello world!',
'advert' => 'Working'
);
echo json_encode($advert);
?>